Face à la documentation Django, il est facile de se sentir submergé par l'étendue de son écosystème. Mais pas d'inquiétude : nous allons procéder comme avec des blocs de construction - en commençant par la configuration SQLite de base, puis en développant progressivement une application Web complète avec toutes les fonctionnalités CRUD. Cette approche représente non seulement le point d'entrée idéal pour apprendre Django, mais aussi un excellent moyen de saisir les fondamentaux du développement Web.
1. Démarrage rapide en cinq minutes : initialisation et configuration du projet
Assurez-vous d'abord que Django est installé dans votre environnement Python. Si ce n'est pas le cas, exécutez cette commande simple :
pip install django
Construisons maintenant notre projet élément par élément :
- Créer la structure du projet
L'exécution de cette commande génère l'architecture fondamentale, comme des fondations pour une construction :
django-admin startproject gestion_utilisateurs
cd gestion_utilisateurs
- Créer le module applicatif principal
Notre système de gestion nécessite un module fonctionnel :
python manage.py startapp utilisateurs
La structure du projet devrait maintenant ressembler à ceci :
gestion_utilisateurs/
├── manage.py
├── gestion_utilisateurs/
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── utilisateurs/
├── migrations/
├── __init__.py
├── admin.py
├── apps.py
├── models.py
├── tests.py
└── views.py
- Activer la base de données SQLite
Ouvrezsettings.py- vous constateerz que SQLite est déjà configuré par Django :
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
Pour activer notre nouvelle application utilisateurs, ajoutez-la dans INSTALLED_APPS :
INSTALLED_APPS = [
...
'utilisateurs.apps.UtilisateursConfig',
]
2. Conception du modèle de données : définir la structure de la base avec des classes Python
Dans utilisateurs/models.py, nous allons définir le modèle de données pour les enregsitrements d'entrées et sorties d'utilisateurs :
from django.db import models
class EntreeSortie(models.Model):
identifiant = models.CharField(max_length=50, verbose_name="Identifiant utilisateur")
zone = models.CharField(max_length=100, verbose_name="Zone d'accès")
moment_entree = models.DateTimeField(verbose_name="Moment d'entrée")