[PYTHON] [Tipps] Die Vorgehensweise beim Erstellen von HTML mit Django wird erweitert

Überblick

Hintergrund

Diejenigen, die der Schöpfer selbst entscheiden sollte, sind in Großbuchstaben und die anderen in Kleinbuchstaben geschrieben. Variablenname oder Dateiname.

Struktur von HTML-Vorlagen beim Erben

Da die offizielle Website eine effiziente Methode zum Schreiben von HTML mit den Erweiterungen der Vorlage eingeführt hat, handelt es sich fast um eine Übersetzung davon.

Bereiten Sie base.html vor

Erstellen einer Basisvorlage, die die Basis für alles ist. Packen Sie hier alles ein, was die Grundlage Ihrer Website bildet.

Wenn Sie später Inhalte hinzufügen möchten, bereiten Sie diese als {% block CONTENTSNAME%} vor. Es ist auch eine gute Entwicklungsmethode, den Standardwert zu diesem Zeitpunkt einzugeben. (Unten befindet sich eine Ergänzung.)

Das offizielle Dokument hat ein konkretes Beispiel wie dieses.

base.html



<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" href="style.css" />
    <title>{% block title %}My amazing site{% endblock %}</title>
</head>

<body>
    <div id="sidebar">
        {% block sidebar %}
        <ul>
            <li><a href="/">Home</a></li>
            <li><a href="/blog/">Blog</a></li>
        </ul>
        {% endblock %}
    </div>

    <div id="content">
        {% block content %}{% endblock %}
    </div>
</body>
</html>

Erstellen Sie eine etwas eingeschränktere Version als base_SECTIONNAME.html

Wenn Sie beispielsweise ein Blog erstellen, ist es spezifischer als ** base_index.html ** oder ** base_blogindex.html ** oder base.html, es wird jedoch nicht der gesamte Inhalt eingebettet.

Es fühlt sich so an, als würde ich hier für jede Seite die notwendigen Einzelfunktionen vorbereiten. Fügen Sie das Block-Tag erneut als `{% block CONTENTSNAME%}` in den Teil ein, den Sie in die untergeordnete Vorlage einfügen möchten.

Erstellen Sie einzelne Seiten konkret

Machen Sie etwas sehr Spezifisches, wie das, was fehlt, oder setzen Sie eine Variable und weisen Sie sie zu. Ein Bild, das eine Webseite vervollständigt.

Tipps zur Verwendung von Tags

Es scheint, dass es einige detaillierte Regeln für Tags gibt, und ich werde sie zusammenfassen.

{% erweitert den Namen der übergeordneten Vorlage.html '%}

Dies ist ein Tag, um die Eltern-Kind-Beziehung der Vorlage anzuzeigen. Ich werde dem Kind den Namen der Vorlage des Elternteils geben, indem es erweitert. Anschließend können Sie den Inhalt einfügen, in dem das übergeordnete Element das Block-Tag erstellt hat.

Die Einschränkung bei der Verwendung dieses Tags besteht darin, dass sich das erweiterte Tag oben befinden muss. Bitte beachten Sie, dass der Fehler nicht normal vererbt wird, wenn Sie dieses Tag in die Mitte schreiben.

Das Dokument hat ein konkretes Beispiel wie dieses.

base.html


<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" href="style.css" />
    <title>{% block title %}My amazing site{% endblock %}</title>
</head>

<body>
    <div id="sidebar">
        {% block sidebar %}
        <ul>
            <li><a href="/">Home</a></li>
            <li><a href="/blog/">Blog</a></li>
        </ul>
        {% endblock %}
    </div>

    <div id="content">
        {% block content %}{% endblock %}
    </div>
</body>
</html>

Das Kind sieht so aus.

base_CHILD.html


{% extends 'base.html' %}

{% block title %}My amazing blog {%endblock%}

{% block content %}
{% for entry in bloc_entries %}
	<h2>{{entry.title}}</h2>
	<p>{{entry.body}}</p>
{%endfor%}
{%endblock%}

Es ist möglicherweise besser, die Details und Besonderheiten der Verwendung von Tags durchzugehen. ..

Über {% block%}

Sie sollten viele Block-Tags haben

Es gibt viele Blöcke und es ist nichts falsch daran. Daher scheint es besser zu sein, von einem Ende zum anderen zu gehen, wo es wahrscheinlich in Zukunft verwendet wird.

Wenn es viele Wiederholungen gibt

Wenn Sie der Meinung sind, dass dasselbe wiederholt in der Vorlage des Kindes codiert ist, schreiben Sie es am besten in die übergeordnete Vorlage.

Es ist einfacher, mit weniger Wiederholungen zu lesen. TROCKEN TROCKEN !!

Um das Lesen zu erleichtern,

Wenn Sie die Korrespondenz mit {% endblock CONTENTSNAME%} schreiben, ist das Lesen für andere einfacher. Es ist eine Ära von Open Source. Wenn Sie es also nicht unter der Annahme schreiben, dass es von anderen Menschen gelesen wird, wird es später schwierig. ..

Vorsichtsmaßnahmen zum Erstellen eines Block-Tags

Die Namen der Block-Tags müssen unabhängig sein. Es funktioniert nicht, wenn Sie den gleichen Namen haben.

Es scheint, dass der Austausch von Block-Tags keine Einbahnstraße zwischen Eltern und Kindern ist, sondern gegenseitig. Wenn Eltern viele Block-Tags vorbereiten, scheinen Kinder in Schwierigkeiten zu sein, da sie nicht wissen, auf welche sie sich beziehen sollen, wenn sie das Tag der Eltern sehen.

Vielleicht so etwas. Wenn Sie dies studieren, das Dokument lesen und ein wenig üben, sollte die Vererbungsbeziehung der Vorlage in Ordnung sein. .. ..

Recommended Posts

[Tipps] Die Vorgehensweise beim Erstellen von HTML mit Django wird erweitert
So führen Sie eine arithmetische Verarbeitung mit der Django-Vorlage durch
Dinge zu tun, wenn Sie anfangen, sich mit Django zu entwickeln
Umgang mit statischen Dateien bei der Bereitstellung in der Produktion mit Django
So lösen Sie den CSRF-Schutz bei Verwendung von AngularJS mit Django
Standardisieren Sie HTML, um mit Django gemietet zu werden
Wie fange ich mit Django an?
Wie man einen Taschentest mit Python macht
So führen Sie vom Server gesendete Ereignisse in Django durch
Django HTML Vorlage Teil 2
Django HTML-Vorlage
Tipps für Django-Vorlagen
So führen Sie eine Mehrkern-Parallelverarbeitung mit Python durch
[Django] So beheben Sie Fehler bei der Installation von mysqlclient
So entwickeln Sie eine Cart-App mit Django
So implementieren Sie "named_scope" von RubyOnRails mit Django
Eine Geschichte, die vorbereitet werden musste, wenn versucht wurde, ein Django-Tutorial mit einfachen Centos7 zu erstellen
So führen Sie eine Hash-Berechnung mit Salt in Python durch
Problemumgehung für Djangos Vorlage existiert nicht
So führen Sie mit OpenCV ein Null-Padding in einer Zeile durch
Zugriff mit dem Cache beim Lesen von_json mit Pandas
Wenn Sie mit dem Django REST-Framework filtern möchten
[AWS] Was tun, wenn Sie mit Lambda pfeifen möchten?
[Ansible] So rufen Sie Variablen auf, wenn Sie ein eigenes Modul erstellen
So laden Sie keine Bilder, wenn Sie PhantomJS mit Selen verwenden
So überprüfen Sie das Verhalten von ORM mit einer Datei mit django
So aktualisieren Sie Benutzerinformationen bei der Django RemoteUserMiddleware-Anmeldung
[Django] Wie man Eingabewerte im Voraus mit ModelForm angibt
So nehmen Sie erste Einstellungen für die Django-Projekterstellung vor
Was tun, wenn in Django "Ungültiger HTTP_HOST-Header" angezeigt wird?
Umgang mit UnicodeDecodeError beim Ausführen des Downloads von Google-Bildern
So geben Sie zusätzliche Informationen aus, wenn Sie Protokolle mit dem Protokollierungsmodul von Python ausgeben
Mach Django mit CodeStar (Python3.6.8, Django2.2.9)
Mach Django mit CodeStar (Python3.8, Django2.1.15)
Wie aktualisiere ich mit SQLAlchemy?
Wie man mit Theano besetzt
Führen Sie eine AES-Verschlüsselung mit DJango durch
Wie mit SQLAlchemy ändern?
So trennen Sie Zeichenfolgen mit ','
Wie man RDP auf Fedora31 macht
Wie lösche ich mit SQLAlchemy?
Wie man Japanern nicht entgeht, wenn man mit json in Python umgeht
Beim Erstellen von .gitignore mit gibo musste ich keine .python-Version schreiben.
[Beanstalk] Was tun, wenn beim Importieren der UUID ein Fehler auftritt?
Umgang mit Fehlern bei der Installation von Whitenoise und der Bereitstellung auf Heroku
Ich habe versucht, das Entwicklungsstartverfahren von Django kurz zusammenzufassen
Ein Hinweis, dem ich beim Erstellen einer Tabelle mit SQL Alchemy verfallen war
Umgang mit Fehlern bei der Installation von Python und Pip mit Choco
So schreiben Sie, was zu tun ist, wenn die Anwendung zum ersten Mal in Qt for Python mit Designer angezeigt wird
Konvertieren Sie .ipynb in .html (mit BatchFile)
So brechen Sie RT mit tweepy ab
Was tun, wenn Ubuntu abstürzt?
[Python] Wie man PCA mit Python macht
Python: So verwenden Sie Async mit
[Django] So testen Sie Form [TDD]
Was tun mit der Installation von Magics?