"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comprendre l'architecture de Django : le modèle MTV.

Comprendre l'architecture de Django : le modèle MTV.

Publié le 2024-11-02
Parcourir:982

Understanding Django’s Architecture: The MTV Pattern.

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 manuellement de requêtes SQL.

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 :

  • Un utilisateur demande une page Web (via une URL).
  • Django fait correspondre l'URL à une vue.
  • La vue récupère les données du modèle et les transmet au modèle.
  • Le modèle restitue les données au format HTML et les renvoie en réponse à l'utilisateur.

É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 à 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



    Hello Template

Hello, {{ name }}!

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 :

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()

    def __str__(self):
        return self.title

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 :

python3 manage.py makemigrations
python3 manage.py migrate

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.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/vincenttommi/2-understanding-djangos-architecture-the-mtv-pattern-1gl?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3