Dies ist die Ausgabeseite des Ergebnisses des Lernens über Django bei Udemy. Dies ist eine Fortsetzung des vorherigen Artikels . Dieses Mal werde ich versuchen, die Vererbungsfunktion von Djangos Vorlagendatei zu verwenden.
urls.py Dieses Mal werden wir die Vererbungsfunktion der Vorlagendatei erläutern, sodass ulrs.py mit dem letzten Mal identisch ist.
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 ist das gleiche wie beim letzten Mal, aber der Code ist für alle Fälle unten.
first\myapp\views.py
from django.shortcuts import render
def index(request):
context = {
'names':['Suzuki','Sato','Takahashi'],
'message':'Hallo.',
}
return render(request, 'myapp/index.html', context)
Erstellen Sie den HTML-Code, der die Vererbungsquelle sein soll. Der Speicherort ist der Ordner eine Ebene über index.html, der zuletzt erstellt wurde. Bitte beachten Sie, dass sie sich nicht im selben Ordner befinden.
Geben Sie nach der Erstellung den folgenden Code ein.
first\myapp\templates\base.html
<html>
<head>
{% block title %}
<title>Vererbungsquellenseite</title>
{% endblock %}
</head>
<body>
<h1>Django-Studienseite</h1>
<div>
{% block body %}
{% endblock %}
</div>
</body>
</html>
Es gibt zwei Punkte.
Geben Sie {% block title%} {% endblock%}
in den Kopfteil ein.
Geben Sie {% block body%} {% endblock%}
in den Körperteil ein.
Als nächstes bearbeiten wir index.html, das das Vererbungsziel ist.
Wie ich im vorherigen Artikel gemacht habe, ist der Speicherort der Datei wie folgt.
Öffnen Sie die Datei und schreiben Sie wie folgt.
first\myapp\templates\myapp\index.html
{% extends "base.html" %}
{% block title %}
<title>Django-Studienseite</title>
{% endblock %}
{% block body %}
<p>{{ names.0 }}Herr.{{ message }}</p>
<p>{{ names.1 }}Herr.{{ message }}</p>
<p>{{ names.2 }}Herr.{{ message }}</p>
<hr>
{% for name in names %}
<p>{{ name }}Herr.{{ message }}</p>
{% endfor %}
{% endblock %}
Eine Beschreibung des Codes.
Erben Sie zunächst die zuvor mit {% erweitert "base.html"%}
erstellte Vorlagendatei. Dies ist ein Fall, in dem ein häufiger Fehler darin besteht, base.html an der falschen Stelle zu platzieren und einen Fehler zu erhalten.
Als nächstes setze ich das Titel-Tag in {% block title%} {% endblock%}
.
Dies bedeutet, dass Sie einen eindeutigen Titel für die Seite index.html eingeben.
Dies ist nützlich, wenn Sie eine andere HTML-Seite als index.html erstellen und ihr einen anderen Titel geben möchten.
Wenn Sie nichts eingeben, wird der Titel in base.html angezeigt und "Vererbungsquellenseite" angezeigt.
Schließen Sie als Nächstes den gesamten zuletzt erstellten Körperteil mit {% block body%} {% endblock%}
ein.
Dies ist auch dasselbe wie der Titel. index.html Dies bedeutet, den für die Seite eindeutigen Text zu beschreiben.
Abgesehen davon erbe ich oft den Navigationsteil und den Fußzeilenteil. Durch die Verwendung der Vererbungsfunktion wird es einfacher, diese im gesamten Teil wiederzugeben, selbst wenn sich ein Teil der Seite ändert. Django hat verschiedene Funktionen, aber ich denke, dass die Vererbungsfunktion eine Funktion ist, die Sie definitiv verwenden werden.
Starten Sie den Entwicklungsserver mit py manage.py runserver und überprüfen Sie den Vorgang. Es heißt "Dies ist eine Django-Studienseite", die ich nur in base.html ausgefüllt habe. Der Seitentitel wird als "Django-Lernseite" angezeigt. Wenn das Körperteil normal angezeigt werden kann, ist es erfolgreich.
Recommended Posts