Photo by Pankaj Patel on Unsplash

Développer des projets Django en utilisant le TDD

Voici le début d'une série d'articles autour de Django, The Web framework for perfectionists with deadlines..

Pour cela, j'introduis mon point de départ, un tutoriel très clair et instructif mis en ligne par Marina Mele : TaskBuster Django Tutorial.

Je l'ai suivi et remis au goût du jour (Django 2.1 au lieu de Django 1.8). Par ailleurs, dans une optique de coller à des contraintes professionnelles, mon environnement de développement est sous Windows, ce qui m'a permis de faire des petites découvertes amusantes.

Dans les prochains articles, je reviendrai sur certaines difficultés clés qu'il m'a fallu surmonter.

Mais revenons d'abord au tutoriel. Il est intéressant car permet de se construire un bon squelette de projet Django. Les points abordés dans le tutoriel sont les suivants (en anglais) :

  • Working environment and start a Django Project
  • Settings files and version control
  • Create a home page with TDD, Staticfiles and Templates settings
  • Template inheritance, website files and testing with coverage
  • Internationalization and localization. Languages and time zones
  • Documenting the TaskBuster Django Boilerplate
  • Install and configure PostgreSQL / MySQL
  • User authentication with a Google account / Twitter using Django Allauth
  • Model creation, OneToOne relations, signals and the Django Admin
  • Model creation, ForeignKey relations, testing and the Django Admin

Ce tutoriel est donc très complet. Cela parle de versioning, de TDD, dont nous avons déjà parlé ici Développement dirigé par les tests, de couverture des tests, d'internationalisation d'une application, de documentation etc.

Toutes ces étapes peuvent paraître anodines mais elles contribuent fortement à la réussite d'un projet de développement.

Je recommande donc fortement la lecture de ce tutoriel !

Dans les prochains articles, je reviendrai sur des points de détail qui m'ont fait buter, que ce soit pour l'adaption à Django 2.1 ou bien pour l'environnement de développement Windows.

{{ message }}

{{ 'Comments are closed.' | trans }}