Django suit le modèle MTV (Model-Template-View) pour le développement Web. Voici une répartition de chaque composant :
Modèle : définit votre structure de données et gère l'interaction avec la base de données, vous permettant de stocker et de récupérer des données sans écrire de requêtes SQL manuellement.
Modèle : responsable du rendu HTML et de la présentation des données à l'utilisateur. Vous écrivez du HTML mélangé avec Django Template Language (DTL) pour afficher du contenu dynamique.
Vue : agit comme la couche de logique métier. Il connecte le modèle et le modèle, gère les demandes des utilisateurs, interagit avec le modèle et renvoie une réponse (souvent HTML rendue à partir du modèle).
Comment fonctionne le cycle requête-réponse de Django :
Étape 1 : Créer une nouvelle application dans Django.
Une fois que vous avez configuré Django (comme expliqué dans l'article précédent), créons une nouvelle application dans votre projet.
Exécutez ces commandes :
cd mysite python3 manage.py startapp core
Cela crée une application nommée core dans votre projet mysite. La structure de votre fichier devrait maintenant ressembler à ceci :
. ├── core │ ├── admin.py │ ├── apps.py │ ├── __init__.py │ ├── migrations │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ └── views.py ├── db.sqlite3 ├── manage.py └── mysite ├── asgi.py ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py
Étape 2 : Enregistrez votre application dans le fichier de paramètres.
Pour informer Django de la nouvelle application, vous devez l'ajouter à INSTALLED_APPS dans mysite/settings.py :
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'core', # add this line ]
Étape 3 : Créer une vue de base.
Créons une vue simple qui renvoie un message « Hello, World ! » message.
Ouvrez views.py dans l'application principale et ajoutez le code suivant :
from django.http import HttpResponse def learn(request): return HttpResponse("Hello, World!")
Étape 4 : Mapper les URL vers la vue.
Pour accéder à cette vue via une URL, vous devez la mapper dans le fichier core/urls.py. Créez ce fichier s'il n'existe pas et ajoutez ce qui suit :
from django.urls import path from . import views urlpatterns = [ path('learn/', views.learn, name='learn'), ]
Ensuite, incluez les URL de l'application principale dans le fichier principal mysite/urls.py :
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('core/', include('core.urls')), # include the core app URLs ]
Maintenant, si vous exécutez le serveur et visitez http://127.0.0.1:8000/core/learn/, vous devriez voir « Hello, World ! » affiché.
Étape 5 : Créer et afficher un modèle
from django.shortcuts import render def learn(request): context = {'name': 'Django'} return render(request, 'hello.html', context)
Cette vue transmet désormais une variable (nom) à un modèle appelé hello.html.
Étape 6 : Créer un répertoire de modèles et un fichier HTML.
Dans votre application principale, créez un dossier de modèles et un fichier hello.html :
mkdir core/templates touch core/templates/hello.html
Dans hello.html, ajoutez le code HTML suivant
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Hello Template</title> </head> <body> <h1>Hello, {{ name }}!</h1> </body> </html>
Lorsque vous visitez à nouveau l'URL d'apprentissage, vous devriez maintenant voir "Bonjour, Django !" dans le navigateur.
Étape 7 : Créer un modèle de base.
Créons un modèle de publication simple pour stocker les articles de blog.
Dans core/models.py, ajoutez le code suivant :
cd mysite python3 manage.py startapp core
Ce Postmodel comporte deux champs : titre et contenu. La méthode __str__ garantit que les objets Post sont affichés avec leurs titres dans l'administrateur ou le shell Django
Étape 8 : Appliquer le modèle à la base de données.
Pour créer la table correspondante dans la base de données, exécutez ces commandes :
. ├── core │ ├── admin.py │ ├── apps.py │ ├── __init__.py │ ├── migrations │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ └── views.py ├── db.sqlite3 ├── manage.py └── mysite ├── asgi.py ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py
Django va maintenant créer une table de base de données pour le modèle Post.
En suivant ces étapes, vous avez réussi à créer une application Django de base avec un modèle, une vue et un modèle. Vous pouvez désormais développer cette base en ajoutant davantage de fonctionnalités, telles que la gestion des entrées des utilisateurs, l'amélioration de la conception et la création d'une application plus interactive.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!