Récapitulons les modèles MVT lors de l'utilisation de Django et les modules correspondant à chaque modèle. Au fait, un module est un fichier source de "~ .py". Un package est un dossier de gestion des fichiers source. (OK si vous pensez que c'est un dialecte Python)
J'entends souvent des modèles MVT, et je vois souvent des articles sur le framework Django. Cependant, j'ai pensé qu'il était difficile d'imaginer la correspondance entre les deux, alors je vais la résumer sous forme de mémoire. Veuillez commenter si vous souhaitez écrire plus en détail ou s'il y a un problème.
La description | |
---|---|
Model | Gestion de données |
View | Contrôle des appels |
Template | Interface utilisateur |
Est-ce que c'est comme ça si vous l'écrivez simplement? De plus, il existe une fonction qui peut utiliser la classe de contrôle des données d'entrée appelée Django form, et si vous créez une application à grande échelle, vous pouvez penser un peu plus à l'architecture et séparer la couche de service et la couche de domaine, mais c'est J'essaierai de le résumer dans une version détaillée un jour.
Par exemple, je présenterai la configuration de base lorsqu'un projet appelé "sample_project" est créé et qu'une application appelée "sample_app" y est créée. (Pour les dossiers et modules qui ne sont pas créés par défaut lors de la création d'un projet Django et qui doivent être ajoutés par vous-même, ajoutez une étoile devant le nom) (Pour les packages ou les dossiers, ajoutez * après le nom)
sample_project*
| - sample_project*
| - settings.py
| - urls.py
| - wsgi.py
| - sample_app*
| - migrations*
| - ☆templates*
| - ☆static*
| - ☆sample_app*
| - models.py
| - views.py
| - ☆urls.py
| - manage.py
Étant donné que l'objet de cet article est MVT, nous omettons les packages et modules non liés.
Nous présenterons en fait les modules correspondants pour chaque couche. Model Ceci est lié au modèle
sample_project*
| - sample_project*
| - settings.py ・ ・ ・ A
| - sample_app*
| - migrations*・ ・ ・ B
| - models.py ・ ・ ・ C
** A. Module de configuration à l'échelle du projet ** Ce n'est pas un module utilisé uniquement par Model, mais les informations de configuration de la base de données, etc. sont écrites ici.
** Forfait B.migrations **
Contient les fichiers source générés par la commande make migrations
lorsque vous essayez de créer une base de données dans la base de code.
La commande migrate
applique le contenu ici à la base de données.
** C. Module pour définir chaque classe Model ** Vous définirez ici votre propre classe Model. Comment créer une classe Model
View Ceci est lié à View Il est important de se rappeler que View nécessite non seulement la définition de la fonction View pour le contrôle post-appel, mais également le paramétrage du répartiteur d'URL quant à la fonction View à appeler.
sample_project*
| - sample_project*
| - urls.py ・ ・ ・ A
| - sample_app*
| - views.py ・ ・ ・ B
| - ☆urls.py ・ ・ ・ C
** A. urls.py ** dans le package du projet
Décrit les informations du répartiteur pour appeler la fonction View en fonction de l'URL.
Cependant, ce module décrit un répartiteur d'URL pour diviser chaque application dans le projet Django.
Dans cet exemple, comme http: // ~~~~~ / sample_project / sample_app /
Enregistrez le répartiteur d'URL jusqu'à la division de l'application après le nom d'hôte.
** B. Module de définition de chaque fonction View ** Définissez votre propre fonction d'affichage ici.
** C. urls.py ** dans le package d'application
Décrit les informations de chaque répartiteur d'URL dans l'application. Vous devrez ajouter ce module vous-même.
Vous allez enregistrer un répartiteur d'URL qui est une continuation de l'URL divisée pour chaque application par le * A. * ci-dessus.
Dans cet exemple, sample_app pour que vous puissiez spécifier une URL telle que
http: // ~~~~~ / sample_project / sample_app / home ou
http: // ~~~~~ / sample_project / sample_app / editEnregistrez la pièce après /
.
Template Ceci est lié au modèle
sample_project*
| - sample_app*
| - ☆templates*
| - ☆static*· · · UNE
| - ☆sample_app*・ ・ ・ B
** A. Package pour stocker les fichiers de rendu (fichiers css et fichiers JS) ** En plus du HTML, les fichiers nécessaires à la configuration de l'écran sont placés ici.
** Package de stockage de fichiers B.Template ** Placez le fichier HTML ici.
Si vous utilisez un framework, il est assez important d'organiser où et quoi écrire! Cette fois, je me suis concentré sur les dossiers et fichiers que je devais regarder ici pour chaque MVT avec une structure simple pour le moment.
Recommended Posts