10 conseils Django extrêmement utiles

Il existe de nombreux petits trucs et astuces que l'on pourrait utiliser dans leurs projets Django pour accélérer le développement et éviter de nombreux maux de tête à long terme. De base à obscurcissant, ces conseils peuvent aider tous les programmeurs de niveau de compétence à devenir plus habiles avec Django et toute sa gloire..

Django est un excellent framework pour Python. Bien que l'encre ne reçoive pas autant d'encre que d'autres frameworks populaires tels que Rails, il s'agit tout autant d'un framework poli que de n'importe quel autre. Il met beaucoup d'emphase sur le principe DRY (Don't Repeat Yourself) dans le codage propre en automatisant de nombreux processus de programmation.

1. Utiliser des chemins relatifs dans la configuration

Pour certaines raisons, les projets ont tendance à être déplacés de temps en temps. Cela peut être un ours absolu à traiter si vous ne planifiez pas d’abord la possibilité. Rob Hudson possède une excellente technique pour garantir que vos déploiements Django peuvent être déplacés facilement, n’ayant à modifier que quelques lignes de code dans vos fichiers de paramètres..

Mon fichier de paramètres Django par défaut a changé au fil du temps pour inclure désormais des paramètres qui ne dépendent pas de l'emplacement du projet sur le système de fichiers. Cette fonctionnalité est idéale dans un environnement d'équipe où plusieurs personnes travaillent sur le même projet ou lors du déploiement de votre projet sur un serveur Web dont le chemin d'accès au répertoire racine du projet est probablement différent..

Le message de Rob contient d'excellents exemples de code pour configurer votre installation Django de manière très flexible..


Photo de kaet44.

2. Utilisez la balise % url%

Au lieu de coder en dur des liens individuels, essayez d’utiliser la balise % url% rétrocompatible pour obtenir le même résultat. Cela vous donnera la absolu URL, de sorte que si, ce qui est interdit, votre projet Django se déplace, les liens resteront toujours en contact..

Pour l'essentiel, % url% prend un nom de vue et ses paramètres, puis effectue une recherche inversée pour renvoyer l'URL demandée. Si vous apportez des modifications à votre fichier urls.py, les liens ne seront pas rompus..

Bien que ce ne soit pas l’astuce la plus avancée, c’est une excellente technique à utiliser dans vos projets django..


Photo de Dave_Apple.

3. Utilisez l'administrateur Django pour vos applications PHP

L'une des plus grandes fonctionnalités de Django est sans doute le système d'authentification d'utilisateur que Django a intégré directement au noyau. Il est très facile à configurer et comprend un système robuste pour authentifier les utilisateurs et configurer les autres paramètres nécessaires..

Ce système utilisateur est tellement génial qu'il a même été suggéré d'utiliser Django comme zone d'administration de votre application PHP. Jeff Croft explique pourquoi Django est une excellente solution pour un système d'administration pour toutes les applications, quelle que soit la langue:

Une des philosophies fondamentales de Django est le couplage lâche. Outre la connotation plus séduisante de l'amour libre, cela signifie que chacune des couches de la «pile» de Django doit être indépendante des autres, de sorte que vous pouvez choisir de n'en utiliser que des fragments et / ou des diapositives. dans d'autres composants si vous préférez. Heureusement, il est extrêmement simple d'apprendre les bases du modèle de couche de Django, qui gère le schéma de base de données et le mappage relationnel-objet, même si vous ne connaissez pas Python. Tout le monde peut créer un schéma de base de données dans Django et obtenir le joyau du cadre - son interface d'administration - avec très peu de travail, même si vous envisagez d'écrire la logique de l'application elle-même dans un autre langage..


Photo de Cloudzilla.

4. Utilisez un serveur de médias distinct

Django vous permet de servir des fichiers statiques dans votre environnement de développement, mais pas votre environnement de production. Pourquoi? Ce n'est pas efficace. Du tout. Jacobian.org donne une explication.

Django ne sert délibérément pas les médias, et est conçu de cette manière pour vous préserver de vous-même. Si vous essayez de servir des médias à partir de la même instance Apache qui sert Django, vous allez absolument tuer les performances. Apache réutilise les processus entre chaque requête. Ainsi, une fois qu'un processus met en cache tout le code et toutes les bibliothèques de Django, celles-ci restent en mémoire. Si vous n'utilisez pas ce processus pour traiter une demande Django, toute la surcharge de mémoire est gaspillée..

En utilisant un serveur distinct pour héberger et servir ces fichiers statiques, vos performances n'en souffriront pas. Si vous ne voulez pas acheter de serveur, vous pouvez utiliser Amazon S3 pour héberger les fichiers à un prix relativement avantageux..


Photo de winkyintheUK.

5. Utiliser la barre d’outils du débogueur

Les outils de débogage pour toutes les langues sont inestimables. Ils accélèrent le développement en repérant les erreurs dans votre code et les pièges potentiels pouvant survenir. Rob Hudson a récemment publié la barre d’outils de débogage Django pour aider au débogage du code, ce qui pourrait grandement aider tout développeur..

La barre d'outils elle-même est un middleware qui instancie chaque objet du panneau à la demande, et effectue le traitement et le rendu lors de la réécriture de la réponse dans le navigateur. De cette façon, il s’agit essentiellement d’un ensemble de classes d’intergiciels (les panneaux) regroupés pour afficher une seule barre d’outils. Chaque panneau sous-classe une classe de panneau de base et remplace quelques méthodes pour rendre la barre d’outils..


Photo de winkyintheUK.

6. Utiliser les tests unitaires Django

Le test unitaire est un excellent moyen de vous assurer que vos modifications apportées au code fonctionnent correctement et que le code ancien ne casse pas le code plus ancien pour maintenir la compatibilité avec les versions antérieures. Une excellente fonctionnalité de Django est qu’il est extrêmement facile d’écrire des tests unitaires. Django offre la possibilité d'utiliser le doctest ou le plus léger tout de suite.

La documentation de Django offre un excellent tutoriel et quelques exemples de code sur la manière de configurer des tests unitaires pour que votre code continue de fonctionner correctement et pour détecter les éventuels bugs..


Photo de dave_apple.

7. Utilisez un aide-mémoire

Tricher, c'est mal? J'espère que non. Cette cheatsheet de 2 pages contient quelques pépites d'or à portée de main qu'il serait peut-être nécessaire de fouiller dans la documentation de Django pour trouver.

La feuille de suivi comporte les rubriques utiles suivantes:

Modèles

  • Balises de modèles et leurs options
  • Filtres de modèles et leurs options
  • Référence rapide de la syntaxe de formatage de date

Des modèles

  • Les champs et leurs options
  • Options de champs communs
  • Options de méta-classe
  • Options de ModelAdmin

Formes

  • Les champs et leurs options
  • Options de champs communs
  • Clés standard error_messages

Nous savons tous que le temps passé à regarder de la documentation est du temps passé à ne pas résoudre les problèmes du monde par le code. Et aucun bon programmeur ne veut ça.


Photo de quimpg.

8. Utiliser des morceaux de Django

Django-chunks est essentiellement un moyen de créer des blocs de code réutilisé dans vos modèles. Sauf que créer des blocs est encore plus facile en utilisant l'éditeur de texte riche de Django.

Eh bien, cela permet essentiellement à quelqu'un de définir des "morceaux" (j'ai voulu appeler cela des blocs, mais ce serait très déroutant pour des raisons évidentes) du contenu de votre modèle qui peut être édité directement à partir de la superbe interface d'administration de Django. Ajouter un contrôle d'éditeur de texte enrichi le rend encore plus facile.

En répliquant des éléments de code réutilisables, django-chunks garantit que des éléments de la mise en page peuvent être rapidement et facilement modifiés si nécessaire. Bien que django-chunks ne soit en réalité qu'un balise de modèle et de modèle, il peut considérablement accélérer le développement en répliquant les processus..


Photo de Vince Huang.

9. Utiliser Memcache

Si les performances de votre application fonctionnant avec Django posent problème, vous devrez installer une sorte de mise en cache. Bien que Django offre de nombreuses options pour la mise en cache, le meilleur, de loin, est memcached. L'installation et l'utilisation de memcached sont assez faciles avec Django si vous utilisez le module cmemcache. Une fois le module installé, vous ne modifiez qu'une seule option de configuration et vos pages Django seront exposées rapidement..


Photo de lastrandy.

10. Arrêtez le piratage de scripts ensemble et utilisez simplement Django

Si vous ne comprenez toujours pas bien le pouvoir de Django après la lecture de cet article, il existe un raisonnement logique pour utiliser Django dans votre prochain projet: vous gagnez du temps en piratant des conceptions avec différents ensembles de logiciels. Jeff Croft explique pourquoi la création d'un projet dans Django est beaucoup plus efficace que d'essayer de pirater des scripts.

Maintenant, si vous avez l'habitude de créer des sites en utilisant une application de blogage (Wordpress, TXP, etc.) en tant que CMS, vous êtes habitué à obtenir tout cela gratuitement. Mais vous obtenez également beaucoup d'éléments intégrés que vous ne souhaitez peut-être pas (à moins, bien sûr, que vous construisiez un blog). La limitation que j'ai rencontrée lors de l'utilisation d'une application de blogging pour mon site personnel est que je voulais que ce soit plus qu'un blog. Dès que j'ai essayé de pirater un blog dans une galerie de photos, un flux de liens, une base de données de statistiques, un jeu de Sudoku, ou tout ce que je pourrais penser, les choses ont commencé à devenir cruelles. J'ai également construit un site Web sur lequel j'ai essayé d'utiliser une application de forum de discussion (vBulletin) en tant que système de gestion de contenu (CMS), avec les mêmes résultats. Cela a fonctionné - en quelque sorte - mais ce n'était pas extensible, était très hackish, et était généralement inélégant.

Avec Django, vous obtenez toutes ces choses et aucune des limitations d'une application de blogging..

Django vous permet d’élargir votre site Web dans pratiquement toutes les directions sans avoir à vous soucier du piratage de la conception ou de la compatibilité des scripts et des bases de données. C'est juste travaux.


Photo de JennyHuang.
  • Abonnez-vous au flux RSS NETTUTS pour plus de didacticiels et d'articles de développement Web quotidiens.

Glen Stansberry est un développeur et blogueur Web qui a eu beaucoup de difficultés à admettre avec CSS. Vous pouvez lire plus de conseils sur le développement Web sur son blog Web Jackalope.

Si vous avez trouvé ce message utile, merci de remercier Digg ou Stumble..