Créer une application Web Python avec Django

Django est un framework Web Python de haut niveau qui encourage un développement rapide et une conception propre et pragmatique. Il prend en charge une grande partie des tracas du développement Web, permettant aux développeurs de se concentrer sur l'écriture de l'application au lieu de réinventer la roue. Cet article vous guidera dans la création d'une application Web simple à l'aide de Django.

Démarrer avec Django

Avant de pouvoir commencer à créer une application Web Django, vous devez installer Django. Vous pouvez installer Django à l'aide de pip, l'installateur de paquets Python:

pip install django

Une fois Django installé, vous pouvez créer un nouveau projet Django en exécutant la commande suivante dans votre terminal ou invite de commande:

django-admin startproject myproject

Cette commande crée un nouveau répertoire appelé myproject avec les fichiers nécessaires pour commencer. Accédez à ce répertoire:

cd myproject

Créer une application Django

Dans votre projet Django, vous pouvez créer des applications individuelles qui gèrent des fonctionnalités spécifiques. Par exemple, vous pouvez avoir une application pour l'authentification des utilisateurs, une autre pour les articles de blog, etc. Pour créer une application, exécutez la commande suivante:

python manage.py startapp myapp

Cela crée un nouveau répertoire appelé myapp contenant des fichiers comme models.py, views.py et tests.py, entre autres. Vous définirez vos modèles, vues et modèles dans cette application.

Définition des modèles

Les modèles Django définissent la structure de vos données et sont représentés sous forme de classes Python. Vous les définissez dans le fichier models.py de votre application:

from django.db import models

class BlogPost(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

Une fois vos modèles définis, vous devez créer des tables de base de données pour eux. Exécutez les commandes suivantes pour appliquer les migrations:

python manage.py makemigrations
python manage.py migrate

Créer des vues et des modèles

Les vues Django gèrent la logique de votre application et interagissent avec les modèles pour restituer les données dans les modèles. Une vue simple peut être créée dans le fichier views.py:

from django.shortcuts import render
from .models import BlogPost

def home(request):
    posts = BlogPost.objects.all()
    return render(request, 'home.html', {'posts': posts})

Le code ci-dessus récupère tous les articles de blog de la base de données et les transmet à un modèle appelé home.html. Le modèle home.html est stocké dans un répertoire appelé templates au sein de votre application:

<!DOCTYPE html>
<html>
<head>
    <title>Blog Home</title>
</head>
<body>
    <h1>Blog Posts</h1>
    <ul>
    {% for post in posts %}
        <li>{{ post.title }} - {{ post.created_at }}</li>
    {% endfor %}
    </ul>
</body>
</html>

Configuration des URL

Pour connecter des vues à des URL, vous devez définir des modèles d'URL. Créez un fichier nommé urls.py dans le répertoire de votre application et ajoutez le code suivant:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
]

Ensuite, incluez les modèles d'URL de cette application dans le fichier urls.py du projet principal:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls')),
]

Exécution du serveur de développement

Après avoir configuré vos modèles, vues, modèles et URL, vous pouvez exécuter le serveur de développement Django pour voir votre application Web en action:

python manage.py runserver

Ouvrez un navigateur Web et accédez à http://127.0.0.1:8000/ pour voir votre application Web Django en cours d'exécution.

Conclusion

Django simplifie la création d'applications Web puissantes et robustes avec Python. Ce guide couvre les bases de la configuration d'un projet Django, de la création d'une application, de la définition de modèles, de la création de vues et de modèles, de la configuration d'URL et de l'exécution du serveur de développement. Avec Django, vous pouvez créer facilement des applications Web évolutives et maintenables.