Nous allons poursuivre la discussion en supposant un environnement Mac.
Vérifiez la version Python comme suit.
$ python3 --version
Python 3.5.2
J'écrirai sur la coopération, par exemple en reflétant les informations du modèle créé du côté du modèle et en faisant fonctionner le modèle du côté de Tamplate. Après avoir terminé ce chapitre, vous devriez avoir une idée approximative de l'ensemble des compétences requises pour une application Web. À l'étape suivante, nous pouvons publier le service réel une fois que nous pouvons le concevoir et le déployer dans l'environnement de production.
Modifiez la vue qui relie le modèle et le modèle.
blog/views.py
from django.shortcuts import render
from django.utils import timezone
from .models import Post
# Create your views here.
def post_list(request):
posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
return render(request, 'blog/post_list.html', {'posts': posts})
La première importation a été introduite pour le shell Django, donc ça va.
Au fait, `.``` dans`
.models``` représente
le répertoire actuel, ou
l'application actuelle` ``.
.modèles est blog.Identique aux modèles.
Le point important est ici
```py
posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
return render(request, 'blog/post_list.html', {'posts': posts})
Nous transmettons la variable `` posts '' qui fait référence à l'ensemble de requêtes à Template via le rendu. De cette manière, les variables déclarées dans View peuvent être référencées dans Template. C'est la clé de l'intégration du modèle et du modèle.
C'est très simple, mais prenons les `` messages '' passés au modèle du côté de la vue et les affichons du côté du modèle.
blog/templates/blog/post_list.html
<html>
<p>Hi there!</p>
<p>It works!</p>
{{ posts }}
</html>
De cette façon, il semble que la partie écrite en python devrait être entre parenthèses doubles de
{{}}
.
Au fait, vous devez bien sûr démarrer le serveur, et n'oubliez pas la commande pour démarrer le serveur?
Démarrez le serveur
$ python3 manage.py runserver
Vous pouvez accéder au serveur local à l'adresse http://127.0.0.1:8000/, non?
Avez-vous obtenu un ensemble de requêtes familier avec le shell Django comme celui-ci?
Affichons ceci sous forme de liste.
blog/templates/blog/post_list.html
<html>
<p>Hi there!</p>
<p>It works!</p>
<ul>
{% for post in posts %}
<li>{{post}}</li>
{% endfor %}
</ul>
</html>
Il semble que la syntaxe de contrôle de «for» et «if» devrait être incluse dans «{%%}». Si ce qui suit est affiché, cela réussit.
Le titre de l'article s'affiche. Comme c'est un gros problème, modifions le côté modèle afin que non seulement le titre mais aussi le contenu de l'article puissent être affichés.
blog/templates/blog/post_list.html
<html>
<!-- title -->
<div>
<h1>
<a href="/">
Qiita:Échantillon Django
</a>
</h1>
</div>
<!--contenu du message-->
{% for post in posts %}
<div style="margin-top:50px;">
<h2>title:<a href="">{{ post.title }}</a></h2>
<p>published: {{ post.published_date}}</p>
<p>{{ post.text | linebreaks }}</p>
</div>
{% endfor %}
</html>
«| sauts de ligne» signifie passer un filtre qui convertit les coupures du texte en paragraphes. C'est pratique.
Ceci conclut la pratique consistant à lier le modèle et le modèle via View.
Comment cela allait-il se terminer jusqu'ici? Vous pourrez peut-être voir les parties qui composent le site Web. Peut-être pouvez-vous étudier autant et seulement cela? Je pense que certains d'entre vous ont peut-être pensé cela. Si vous êtes une telle personne, ne vous inquiétez pas. Si vous étudiez la conception avec HTML et CSS, vous pouvez terminer cette page Web magnifiquement à la fois.
Ce n'est pas magnifique en apparence, mais c'est un travail difficile et nécessaire pour créer un poste appelé ingénieur côté serveur simplement en reliant ce MVT.
Nous espérons que cet article est un début pour créer des applications Web avec Django.
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.
Recommended Posts