Tutoriel Django : Construisez une Application Web Moderne

Django est un framework web Python puissant et flexible qui permet de développer rapidement des applications web robustes et sécurisées. Grâce à sa philosophie « batteries included », il fournit de nombreux outils intégrés pour gérer les bases de données, l’authentification, les formulaires, et bien plus encore.

Dans ce tutoriel, nous allons explorer les bases de Django pour vous aider à créer votre première application web.


1. Prérequis

Avant de commencer, assurez-vous d’avoir les éléments suivants :

  • Python 3.7 ou une version ultérieure installé sur votre machine.
  • Un gestionnaire de paquets comme pip.
  • Une connaissance de base en programmation Python.

Installation de Django

Pour installer Django, exécutez la commande suivante dans votre terminal :

pip install django

Vérifiez que l’installation a réussi :

django-admin --version

2. Créer un nouveau projet Django

a) Initialisation du projet

Pour créer un projet, utilisez la commande suivante :

django-admin startproject myproject

Cela créera un répertoire myproject contenant les fichiers essentiels comme settings.py, urls.py, et un serveur de développement intégré.

b) Lancer le serveur de développement

Accédez au dossier du projet et lancez le serveur :

cd myproject
python manage.py runserver

Accédez à l’adresse http://127.0.0.1:8000/ pour voir la page d’accueil par défaut de Django.


3. Créer une application Django

Les applications sont des modules qui gèrent une fonctionnalité spécifique. Créons une application nommée blog :

python manage.py startapp blog

Cela créera un répertoire blog contenant des fichiers comme models.py, views.py, et admin.py.

Ajoutez l’application au fichier settings.py dans la section INSTALLED_APPS :

INSTALLED_APPS = [
    ...
    'blog',
]

4. Modélisation des données avec Django ORM

Créons un modèle pour gérer les articles du blog.

Dans blog/models.py, ajoutez le code suivant :

from django.db import models

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

    def __str__(self):
        return self.title

Appliquez les migrations pour créer la table dans la base de données :

python manage.py makemigrations
python manage.py migrate

5. Créer une vue et un template

a) Définir une vue

Dans blog/views.py, créez une vue simple pour afficher une liste d’articles :

from django.shortcuts import render
from .models import Article

def article_list(request):
    articles = Article.objects.all()
    return render(request, 'blog/article_list.html', {'articles': articles})

b) Ajouter une URL

Dans blog/urls.py, ajoutez les routes pour l’application :

from django.urls import path
from . import views

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

Ensuite, incluez ces routes dans le fichier principal urls.py :

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

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

c) Créer un template

Dans blog/templates/blog/article_list.html, ajoutez le code HTML suivant :

<!DOCTYPE html>
<html>
<head>
    <title>Liste des Articles</title>
</head>
<body>
    <h1>Articles</h1>
    <ul>
        {% for article in articles %}
            <li>{{ article.title }} - Publié le {{ article.published_date }}</li>
        {% endfor %}
    </ul>
</body>
</html>

6. Administrer votre application

Django propose une interface d’administration prête à l’emploi. Ajoutez le modèle Article à l’administration dans blog/admin.py :

from django.contrib import admin
from .models import Article

admin.site.register(Article)

Créez un super-utilisateur pour accéder à l’administration :

python manage.py createsuperuser

Accédez à l’administration via http://127.0.0.1:8000/admin/.


Conclusion

Vous avez maintenant une application Django fonctionnelle avec un système de modélisation des données, une interface utilisateur et une interface d’administration. Django simplifie le développement web grâce à ses outils intégrés, vous permettant de vous concentrer sur la création de fonctionnalités. Continuez à explorer ses possibilités pour créer des applications encore plus sophistiquées !


Abonnez-vous à notre Newsletter !

Restez à jour avec les dernières tendances, articles et actualités directement dans votre boîte de réception. En vous abonnant à la newsletter de Wordly Fusion, vous recevrez des contenus exclusifs, des recommandations personnalisées, et les nouveautés les plus passionnantes de notre site. Ne manquez aucune mise à jour et soyez toujours informé des sujets qui vous intéressent. Inscrivez-vous dès maintenant pour rejoindre notre communauté !

×