# Guide d'introduction à Django : Créez rapidement votre premier site Web
Django est un cadre de développement Web Python efficace et puissant, adapté à la construction d'applications Web et de sites complexes. Ce cadre intègre de nombreuses fonctionnalités utiles, permettant aux développeurs de créer rapidement des applications robustes. Que vous soyez débutant ou développeur avec une certaine expérience, Django peut vous offrir de nombreux avantages. Dans cet article, nous allons vous apprendre, étape par étape, comment utiliser Django pour créer votre premier site Web.
## 1. Préparation de l'environnement
Avant de commencer, assurez-vous que votre environnement de développement a Python et pip (l'outil de gestion de paquets Python) installés. Django nécessite Python 3.6 ou une version supérieure.
### Installation de Python et pip
Vous pouvez télécharger et installer la version appropriée pour votre système d'exploitation depuis [le site officiel de Python](https://www.python.org/downloads/). Une fois installé, vérifiez la version de Python et pip via la ligne de commande :
```bash
python --version
pip --version
```
### Installation de Django
Installer Django via pip est très simple. Tapez la commande suivante dans la ligne de commande :
```bash
pip install django
```
Une fois l'installation terminée, assurez-vous de pouvoir trouver la version de Django dans la ligne de commande :
```bash
django-admin --version
```
## 2. Création d'un projet Django
Après avoir installé Django, nous pouvons commencer à créer un nouveau projet. Un projet est la structure de base de Django, contenant vos applications et configurations.
### Création du projet
Dans le répertoire où vous souhaitez créer le projet, exécutez la commande suivante :
```bash
django-admin startproject myproject
```
Cela créera un nouveau répertoire nommé `myproject`, contenant quelques fichiers et une structure de répertoire par défaut.
### Structure du répertoire
Vous verrez la structure de répertoire suivante :
```
myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
```
- `manage.py` : Outil de gestion de Django, utilisé pour gérer le projet.
- `settings.py` : Fichier de configuration du projet, où vous pouvez configurer la base de données, les fichiers statiques, etc.
- `urls.py` : Configuration des routes URL du projet.
- `asgi.py` et `wsgi.py` : Configuration des interfaces pour le déploiement.
## 3. Exécution du serveur de développement
Dans le répertoire du projet, utilisez la commande suivante pour démarrer le serveur de développement de Django :
```bash
python manage.py runserver
```
Si tout fonctionne correctement, vous devriez pouvoir accéder à la page d'accueil de Django dans votre navigateur à l'adresse [http://127.0.0.1:8000/](http://127.0.0.1:8000/).
## 4. Création de la première application
Un projet Django peut être composé de plusieurs applications. Chaque application est responsable d'un module fonctionnel spécifique.
### Création de l'application
Dans le répertoire `myproject`, exécutez la commande suivante pour créer une application nommée `myapp` :
```bash
python manage.py startapp myapp
```
Cela créera un nouveau répertoire `myapp` dans votre répertoire de projet, avec une structure similaire à :
```
myapp/
migrations/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
```
### Modification de settings.py
Dans `settings.py`, enregistrez votre application. Trouvez la liste `INSTALLED_APPS` et ajoutez `'myapp',` :
```python
INSTALLED_APPS = [
...
'myapp',
]
```
## 5. Créer des vues et des modèles
Django adopte le modèle MVC, les vues et les modèles se complètent mutuellement.
### Créer une vue
Définissez une vue simple dans `myapp/views.py` :
```python
from django.http import HttpResponse
def home(request):
return HttpResponse("Hello, Django!")
```
### Configurer l'URL
Créez un fichier nommé `urls.py` dans le répertoire `myapp` et configurez le routage des URL :
```python
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
```
Ensuite, importez l'URL de `myapp` dans le `urls.py` du projet :
```python
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls')),
]
```
## 6. Accéder à votre page
Maintenant, vous pouvez redémarrer le serveur de développement et accéder à [http://127.0.0.1:8000/](http://127.0.0.1:8000/). Vous devriez voir le message "Hello, Django!".
## 7. Ajouter un support de base de données
Django utilise par défaut la base de données SQLite, mais prend également en charge d'autres bases de données comme MySQL, PostgreSQL, etc. Voici comment configurer SQLite.
### Paramètres de la base de données
Dans `settings.py`, trouvez la section `DATABASES`, la configuration par défaut ressemble à ceci :
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / "db.sqlite3",
}
}
```
Vous pouvez modifier cela pour d'autres bases de données selon vos besoins. Par exemple, pour utiliser PostgreSQL :
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'yourdbname',
'USER': 'yourusername',
'PASSWORD': 'yourpassword',
'HOST': 'localhost',
'PORT': '5432',
}
}
```
Assurez-vous d'installer le pilote de base de données correspondant, par exemple pour PostgreSQL, vous devez installer `psycopg2`.
```bash
pip install psycopg2
```
## 8. Créer des modèles et migrer la base de données
Ensuite, définissons un modèle simple et migrons-le vers la base de données.
### Créer un modèle
Ajoutez le code suivant dans `myapp/models.py` pour définir un modèle simple :
Générer des migrations
Exécutez la commande suivante pour générer un fichier de migration de base de données :
python manage.py makemigrations
Ensuite, appliquez ces migrations :
python manage.py migrate
9. Créer une interface administrateur
Django fournit une interface administrateur puissante pour vous aider à gérer vos données.
Créer un super utilisateur
Créez un compte administrateur avec la commande suivante :
python manage.py createsuperuser
Ajouter des modèles à l'interface administrateur
Enregistrez vos modèles dans myapp/admin.py :
from django.contrib import admin
from .models import Item
admin.site.register(Item)
Maintenant, redémarrez le serveur de développement, accédez à http://127.0.0.1:8000/admin, connectez-vous avec le super utilisateur créé, et vous pourrez voir le modèle que vous venez d'enregistrer.
Conclusion
Django est un puissant framework de développement Web qui vous aide à construire rapidement des applications Web. Grâce aux méthodes décrites dans cet article, vous pouvez facilement créer un site Django simple et étendre ses fonctionnalités. Au fur et à mesure que vous approfondissez votre compréhension de Django, vous pouvez explorer des fonctionnalités plus avancées telles que l'authentification des utilisateurs, les API RESTful, les tests, etc. J'espère que ce guide d'introduction pourra vous aider à faire le premier pas et à commencer votre voyage avec Django !