Voici la page de sortie du résultat de l'apprentissage de Django chez Udemy. Ceci est une continuation de l'article précédent . Cette fois, j'essaierai d'utiliser la fonction d'héritage du fichier modèle de Django.
urls.py Cette fois, nous expliquerons la fonction d'héritage du fichier modèle, donc ulrs.py est le même que la dernière fois.
first\myapp\urls.py
from django.urls import path
from . import views
app_name = 'myapp'
urlpatterns = [
path('', views.index, name='index'),
]
views.py views.py est le même que la dernière fois, mais le code est ci-dessous au cas où.
first\myapp\views.py
from django.shortcuts import render
def index(request):
context = {
'names':['Suzuki','Sato','Takahashi'],
'message':'Bonjour.',
}
return render(request, 'myapp/index.html', context)
Créez le HTML qui sera la source d'héritage. L'emplacement sera le dossier au-dessus de index.html qui a été créé la dernière fois. Veuillez noter qu'ils ne sont pas dans le même dossier.
Une fois créé, entrez le code ci-dessous.
first\myapp\templates\base.html
<html>
<head>
{% block title %}
<title>Page source de l'héritage</title>
{% endblock %}
</head>
<body>
<h1>Page d'étude Django</h1>
<div>
{% block body %}
{% endblock %}
</div>
</body>
</html>
Il y a deux points.
Entrez {% block title%} {% endblock%} '' dans la partie principale, Entrez
{% block body%} {% endblock%} '' dans la partie du corps.
Ensuite, éditons index.html, qui est la destination de l'héritage.
Comme je l'ai fait dans l'article précédent, l'emplacement du fichier est le suivant.
Ouvrez le fichier et écrivez comme suit.
first\myapp\templates\myapp\index.html
{% extends "base.html" %}
{% block title %}
<title>Page d'étude Django</title>
{% endblock %}
{% block body %}
<p>{{ names.0 }}M.{{ message }}</p>
<p>{{ names.1 }}M.{{ message }}</p>
<p>{{ names.2 }}M.{{ message }}</p>
<hr>
{% for name in names %}
<p>{{ name }}M.{{ message }}</p>
{% endfor %}
{% endblock %}
Une description du code.
Tout d'abord, héritez du fichier modèle créé précédemment avec {% extend "base.html"%}
. C'est un cas où une erreur courante est de mettre base.html au mauvais endroit et d'obtenir une erreur.
Ensuite, j'ai mis la balise de titre dans `` {% block title%} {% endblock%} ''. Cela signifie mettre un titre unique pour la page index.html. Ceci est utile lorsque vous souhaitez créer une page html autre que index.html et lui donner un titre différent. Si vous n'entrez rien, le titre dans base.html sera reflété et "Page source d'héritage" sera affiché.
Ensuite, entourez toute la partie du corps créée la dernière fois avec `` {% block body%} {% endblock%} ''. C'est également la même chose que le titre. index.html Cela signifie décrire le corps unique de la page.
À part cela, je fais souvent des choses comme hériter de la partie navigation et hériter de la partie pied de page. En utilisant la fonction d'héritage, même s'il y a un changement dans une partie de la page, il sera plus facile de le refléter dans l'ensemble. Django a diverses fonctions, mais je pense que la fonction d'héritage est une fonction que vous utiliserez certainement.
Démarrez le serveur de développement avec py manage.py runserver et vérifiez le fonctionnement. Il dit "Ceci est une page d'étude Django" que j'ai rempli uniquement dans base.html. Le titre de la page s'affiche sous la forme "Page d'étude Django" Si la partie du corps peut être affichée normalement, cela réussit.
Recommended Posts