Projet de blog Django
Ce chapitre vous emmène de zéro, en utilisant Django pour créer un projet de blog, et vous fait comprendre la structure du projet et le cycle de vie des requêtes.
Préparation de l’environnement
Django est un framework web Python ; vous devez d'abord confirmer l'environnement Python.
Ouvrez le terminal et vérifiez la version de Python (nécessite 3.8 ou supérieur) :
$ python3 --version Python 3.12.0
Créez un environnement virtuel et installez Django
Un environnement virtuel est une pratique standard pour les projets Python, donnant à chaque projet des dépendances indépendantes sans qu'elles interfèrent les unes avec les autres.
$ python3 -m venv venv # 创建虚拟环境 $ source venv/bin/activate # 激活虚拟环境(Windows:venv\Scripts\activate) (venv) $ pip install django # 在虚拟环境中安装 Django
Vérifiez si l'installation a réussi :
(venv) $ python -m django --version 5.0
Chaque fois que vous ouvrez un nouveau terminal, vous devez d'abord l'exécuter
source venv/bin/activateActivez l'environnement virtuel. L'invite du terminal devant(venv)Indique que vous êtes actuellement dans l'environnement virtuel.
Créer un projet Django
Django fournitdjango-admin startprojectUtilisez la commande pour initialiser le projet.
(venv) $ django-admin startproject blog_project (venv) $ cd blog_project
Après exécution, la structure de répertoires suivante sera générée :
blog_project/ ├── manage.py # 项目管理入口(启动服务器、执行迁移、创建 admin 等) ├── blog_project/ # 项目配置包 │ ├── __init__.py # 标识这是一个 Python 包 │ ├── settings.py # 全局配置(数据库、中间件、模板、静态文件等) │ ├── urls.py # 根 URL 路由表 │ ├── wsgi.py # WSGI 部署入口(生产环境用) │ └── asgi.py # ASGI 部署入口(WebSocket 用)
Démarrer le serveur de développement
(venv) $ python manage.py runserver Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). Starting development server at http://127.0.0.1:8000/
Accédez à http://127.0.0.1:8000/ dans le navigateur ; voir la page d'accueil de Django signifie que le démarrage a réussi.
Le serveur de développement est livré avec le rechargement à chaud : après avoir enregistré le code modifié, le serveur redémarre automatiquement. Appuyez sur Ctrl+C pour arrêter le serveur.
Notes de configuration clés pour settings.py
settings.pyest le fichier de configuration central d'un projet Django, et chaque élément de configuration a une signification claire.
| Élément de configuration | Valeur par défaut | Fonction |
|---|---|---|
| DEBUG | True | Mode développement (doit être défini sur False après déploiement) |
| DATABASES | SQLite | Configuration de la base de données (SQLite par défaut, aucune installation supplémentaire requise) |
| INSTALLED_APPS | Liste des applications intégrées | Applications enregistrées dans le projet |
| TEMPLATES | DjangoTemplates | Configuration du moteur de templates |
| LANGUAGE_CODE | 'en-us' | Langue (peut être modifiée en 'zh-hans') |
| TIME_ZONE | 'UTC' | Fuseau horaire (peut être modifié en 'Asia/Shanghai') |
Changez la langue et le fuseau horaire pour l'environnement chinois :
Exemple
LANGUAGE_CODE = 'zh-hans' # L'interface d'administration s'affiche en chinois
TIME_ZONE = 'Asia/Shanghai' # Définir le fuseau horaire sur l'heure de Pékin
Créer la première application : blog
L'organisation du projet Django estUn projet contient plusieurs applications.。
Chaque application est responsable d'un module fonctionnel indépendant (comme les blogs, les utilisateurs, les commentaires).
(venv) $ python manage.py startapp blog
Après l'exécution, le répertoire blog/ est généré :
blog/ ├── __init__.py ├── admin.py # 后台管理配置(第三章用到) ├── apps.py # 应用配置 ├── models.py # 数据库模型(第二章用到) ├── views.py # 视图函数(本章用到) ├── urls.py # 需要手动创建(应用级路由) └── migrations/ # 数据库迁移文件(第二章用到)
Après avoir créé l'application, vous devez l'enregistrer dans settings.py :
Exemple
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog', # Ajouté : enregistrer l’application blog
]
Cycle de vie d’une requête Django
Comprendre le flux des requêtes dans Django vous aide à localiser rapidement les problèmes par la suite.
Saisie de l’URL par le navigateur → urls.py matchRouting → views.py traitement de la logique → templates rendu HTML → retour au navigateur。
Ces trois étapes (URL → Vue → Template) constituent le modèle squelette du développement Django.

Mise en pratique : votre première page Django
Étape 1 : écrire la fonction de vue (views.py)
Exemple
from django.shortcuts import render
# Fonction de vue : reçoit la requête, renvoie la réponse
def index(request):
# Le rôle de render : combiner requête + template + données, renvoyer une réponse HTML
return render(request, 'blog/index.html', {
'welcome': 'Bienvenue sur EXAMPLE Blog',
'intro': Ceci est un site vitrine de blog personnel construit avec Django.
})
Étape 2 : Créer le fichier de template (templates)
Créer dans le répertoire blog/templates/blog/un sous-répertoire, puis créerindex.html。
Exemple
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>EXAMPLE Blog</title>
<style>
body { font-family: sans-serif; max-width: 800px; margin: 0 auto; padding: 40px 20px; }
h1 { color: #2c3e50; }
</style>
</head>
<body>
<h1>{{ welcome }}</h1>
<p>{{ intro }}</p>
</body>
</html>
Utilisation des variables de gabarit Django
{{ variable name }}La syntaxe est la même que celle de l'expression d'interpolation de Vue3. Les données de dictionnaire passées à render dans views.py peuvent être utilisées directement dans le gabarit.
Étape 3 : Configurer le routage (urls.py)
Créez-le d'abord sous blog/urls.pyEn tant que routage au niveau de l'application.
Exemple
from django.urls import path
from . import views
# Table de routage de l'application
url = [
path('', indexviews., index=name), # Le chemin vide correspond à / Accueil
]
Ensuite, dans le urls.py au niveau du projet, utilisezinclude()Importer les routes de l'application :
Exemple
from django.contrib import admin
from django.urls import path, include # Importer include
url = [
path('admin/', admin.site.urls),
path('', include('blog.urls')), # Connectez les routes de l’application blog au chemin racine
]
Résumé du chapitre
Dans ce chapitre, vous avez accompli trois choses : créé un environnement virtuel et installé Django, initialisé le projet avec startproject/startapp, et écrit la chaîne complète Vue → Gabarit → URL.
À retenir : comprenez la hiérarchie projet/application de Django et maîtrisez le schéma de développement en trois étapes URL → Vue → Gabarit.
autres extensions