Nous allons poursuivre la discussion en supposant un environnement Mac.
Vérifiez la version Python comme suit.
$ python3 --version
Python 3.5.2
mysite/urls.Écran de gestion avec py(admin)Et définissez le routage (URL) du blog.
#### **`mysite/urls.py`**
```py
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'', include('blog.urls')),
]
admin
En ce qui concerne, l'administrateur de django le définit automatiquement, mais comme je n'ai encore rien créé sur le blog, je vais le définir.
blog/urls.Créez un fichier vide appelé py et modifiez-le comme suit.
#### **`blog/urls.py`**
```py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.post_list),
]
Pour les urlpatterns,[Django Girls Tutorial](https://djangogirlsjapan.gitbooks.io/workshop_tutorialjp/content/django_urls/)Plus d'extraits.
> Cela signifie que vous avez attribué une URL avec le modèle ^ $ à une vue appelée post_list.
Que signifie ^ $?
C'est la magie des expressions régulières :) Décomposons-le:
>
* Dans l'expression régulière, ^ signifie "début de chaîne". Commencez la correspondance de motifs à partir d'ici.
* $ Signifie "fin de chaîne" et termine la correspondance de motif ici.
>
Oui, une chaîne vide correspond au modèle de ces deux symboles côte à côte. Cependant, la résolution du nom d'URL de Django correspond au modèle sauf pour «http: //127.0.0.1: 8000 /», donc ce modèle signifie «http: //127.0.0.1: 8000 /» lui-même. Je vais. En d'autres termes, il spécifie que «views.post_list» doit être retourné aux utilisateurs qui accèdent à l'URL «http: //127.0.0.1: 8000 /».
En bref, il est actuellement déclaré que ```urlpattern``` assigne `` `` post_list``` à une URL (répertoire racine) sans chaîne de caractères.
```post_list```Je n'ai pas encore créé la vue, donc bien sûr je ne peux pas y accéder.
# Modèle de conception Django
Ensuite, nous allons créer un écran d'affichage correspondant à l'URL définie, mais nous devons d'abord savoir comment sont gérés l'écran et la base de données affichés dans Django.
Avant de parler de Django, jetons un coup d'œil à MVC, un modèle de conception typique.
Si vous comprenez MVC, il sera plus polyvalent à l'avenir et vous pourrez facilement comprendre le modèle de conception MTV adopté par Django.
## Modèle de conception MVC utilisé dans Ruby on Rails, etc.
Dans les applications Web, il est souvent géré comme un modèle de conception MVC.
MVC est une abréviation de Model View Controller, et chaque rôle est le suivant.
Ruby on Rails n'est-il pas un exemple classique de ce modèle de conception MVC?
![](https://blog.chattyhive.com/wp-content/uploads/2014/01/mvc_detailed-full.png)
L'image est que le contrôleur agit en tant qu'intermédiaire sur la base des informations auxquelles l'utilisateur accède, extrait les informations nécessaires du modèle et de la vue et les renvoie ensemble à l'utilisateur.
En gros, View est HTML, Model est DB et Controller est l'administrateur.
Un tel modèle de conception MVC classique est très facile à comprendre et à gérer une fois que vous vous y êtes habitué.
## Django est un modèle de conception MTV
Il semble que Django gère avec un modèle de conception appelé modèle de conception MTV au lieu de MVC.
* Cette zone ressemble-t-elle à un conflit religieux?
MTV est une abréviation de Model Template View.
![](http://blog.easylearning.guru/wordpress/wp-content/uploads/2015/08/MVC-Vs-MTV-300x178.png)
Je pense qu'il y a plusieurs raisons, mais je pense personnellement que le modèle de conception MVC est bien.
Fondamentalement, il semble y avoir une correspondance un à un entre MVC et MTV, alors assurez-vous de convertir MVC en MTV dans votre esprit.
## Article de référence MTV
* [J'ai essayé Python + Django. À propos du modèle MTV](http://mimumimu.net/blog/2011/11/21/python-django-%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F% E3% 80% Modèle 82-mtv-% E3% 81% AB% E3% 81% A4% E3% 81% 84% E3% 81% A6 /)
* [Implementing MTV model in Python Django](https://www.google.co.jp/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&ved=0ahUKEwiQ--nhgaDQAhVLfLwKHW23BWEQjhwIBQ&url=http%3A%2F%2Fblog.easylearning.guru%2Fimplementing-mtv-model-in-python-django%2F&psig=AFQjCNFX3N_Iwfe29CaOZ8djG0oa6V4_2A&ust=1478929512330040)
# Paramètres d'affichage
La vue contrôle la partie telle que le modèle lu à partir de l'URL définie et le type d'informations transmises au modèle.
* Dans les modèles de conception MVC tels que Ruby on Rails, il s'agit de la partie appelée Controller.
#### **`blog/views.Je vais faire py.`**
```Je vais faire py.
#### **`blog/views.py`**
```py
from django.shortcuts import render
# Create your views here.
def post_list(request):
return render(request, 'blog/post_list.html', {})
Étant donné que l'URL précédente a été définie pour accéder à la méthode
post_list '', définissez def post_list '' et prenez
request '' comme argument. Je suis.
Dans la méthode de rendu, blog/post_list.Le contenu de la requête reçue en argument est sorti à l'aide d'un fichier modèle appelé html.
Il est facile de gérer si le nom de la méthode et le nom du fichier modèle correspondent.
* Ruby on Rails suppose fondamentalement que le nom de la méthode et le nom du fichier modèle correspondent, et ne prend pas la peine d'écrire `` `` render```.
# Créer un modèle
Créons maintenant un fichier modèle.
Commencez par créer un répertoire pour Template.
```bash
$ mkdir blog/templates
$ mkdir blog/templates/blog
En cela, créez
post_list.html```.
blog/templates/blog/post_list.html
<html>
<p>Hi there!</p>
<p>It works!</p>
</html>
Après avoir enregistré ceci, si vous accédez à http://127.0.0.1:8000/, le modèle sera chargé et fonctionnera comme suit.
Quant à la façon d'écrire du HTML, il existe de nombreuses autres références, je vais donc laisser l'explication ici.
Vous pouvez maintenant afficher la page Web du modèle d'origine avec l'URL.
Nous vous attendons pour nous suivre!
Présentation du service N'hésitez pas à nous contacter si vous êtes intéressé par "Kikagaku", un service de tutorat individuel pour l'apprentissage automatique qui vous permet d'apprendre "mathématiques → programmation → applications Web" en une seule fois.