Explication facile à comprendre de l'application Web Python (Django), même pour les débutants (6) [MTV design pattern completion]

Composition d'articles de commentaires

No. Titre
1 Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (1) [Construction de l'environnement]
2 Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (2) [Création de projet]
3 Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (3) [Création d'application / configuration de la base de données]
4 Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (4) [Route setting / Introduction to MTV design patterns]
5 Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (5) [Introduction au fonctionnement de la base de données avec le shell Django]
6 Explication facile à comprendre de l'application Web Python (Django), même pour les débutants (6) [MTV design pattern completion]

Environnement de développement

Nous allons poursuivre la discussion en supposant un environnement Mac.

Vérifiez la version Python comme suit.

$ python3 --version
Python 3.5.2

Coopération entre le modèle et le modèle

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.

Modifier vue

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.

Modification 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?

スクリーンショット 2016-11-11 15.13.17.png

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.

スクリーンショット 2016-11-11 15.15.51.png

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.

スクリーンショット 2016-11-11 15.28.07.png

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.

Version avancée

L'explication la plus facile à comprendre au monde sur la création d'un LINE BOT (1) [Préparation du compte]

Les références

prime

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

Explication facile à comprendre de l'application Web Python (Django), même pour les débutants (6) [MTV design pattern completion]
Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (4) [Route setting / Introduction to MTV design patterns]
Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (2) [Création de projet]
Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (1) [Construction de l'environnement]
Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (3) [Création d'application / configuration de la base de données]
Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (5) [Introduction au fonctionnement de la base de données avec le shell Django]
[Python] Conception d'applications Web pour l'apprentissage automatique
Web scraping pour les débutants en Python (1)
Web scraping pour les débutants en Python (4) -1
Explication de la création d'une application pour afficher des images et dessiner avec Python
[Python] Compte-rendu de la réunion d'étude pour les débutants (7/15)
[Pour les débutants] Essayez le web scraping avec Python
Compréhension facile de Python pour les tableaux et (pour les super débutants)
[Python] Dépannage des débutants tout en étudiant l'application Web de Django
Histoire de base de l'héritage en Python (pour les débutants)
Web scraping pour les débutants en Python (1) Version améliorée
(Python) Essayez de développer une application Web en utilisant Django
Résumé des méthodes de prétraitement pour les débutants en Python (trame de données Pandas)
Application Web réalisée avec Python3.4 + Django (Construction de l'environnement Part.1)
Explication sur l'erreur NoReverseMatch dans "python django super introduction"
Scraping Web pour débutants avec Python (4) --2 Scraping sur Cloud Shell