Dies ist ** 6th **, ein Memorandum zur Erstellung einer Shogi Score Management App mit Django.
Die Arbeitsumgebung ist diesmal wie folgt
- kifu_app_project/
- kifu_app_project/
- __init__.py
- setting.py
- urls.py
- wsgi.py
- kifu_app/
- migrations/
- templates/
- index.html
- informationList.html
- informationDetail.html
- __init__.py
- admin.py
- apps.py
- models.py
- tests.py
- urls.py
- views.py
- manage.py
- .gitignore
Ich habe bis zum letzten Mal Vorlagen erstellt, aber da ich eine Reihe von Vorlagen erstellen werde, möchte ich es so einfach wie möglich machen ... Beispielsweise ist das Tag
für alle Vorlagen gleich.Ich denke auch, dass sich die Wartbarkeit verbessern wird, wenn die gleichen Teile organisiert werden.
Die Vererbung von Vorlagen entspricht dem Einpassen einer Vorlage in eine andere.
Erstellen Sie zunächst die Originalvorlage.
base.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.js"></script>
<title>
{% block title %}
{% endblock %}
</title>
</head>
<body>
{% block body_content %}
{% endblock %}
</body>
</html>
Fügen Sie den Teil, den Sie später anpassen möchten, in {% block <Blockname>%}
{% endblock%}
ein.
Davon allein profitiere ich nicht sehr ... Es ist jedoch einfach, nur diese Vorlage zu ändern, um in Zukunft Dinge wie Bootstrap zu laden.
Erstellen Sie als Nächstes eine Vorlage für die passende Person. Ändern Sie als Beispiel informationList.html.
informaitonList.html
{% extends "base.html" %}
{% block title %}
Kifu APP
{% endblock %}
{% block body_content %}
{% for each_data in object_list %}
<h3>{{ each_data }}</h3>
<table border="1">
<tr>
<td><a href="{% url 'kifu_app:informationDetail' each_data.id %}">{{ each_data.date }}</a></td>
<td>{{ each_data.sente }}</td>
<td>{{ each_data.gote }}</td>
<td>{{ each_data.small_class }}</td>
</tr>
</table>
{% endfor %}
{% endblock %}
Laden Sie zuerst die Vorlage, die mit "{% erweitert" Vorlagenname "%}" versehen werden soll. Schließen Sie danach in der zuvor erwähnten Basis den Inhalt mit einem Block ein, der der Stelle entspricht, an die Sie passen möchten.
Zum Beispiel denke ich, dass es auf dem detaillierten Bildschirm der Partitur einfacher ist, es zu verwenden, wenn es ein Shogi-Board gibt. Ein solches Shogi-Board kann jedoch auch für andere Zwecke als für den Detailbildschirm verwendet werden.
Dann besteht die Idee von include darin, * das "Shogi-Board" als Teil zu verwalten und den Teil bei Bedarf zu lesen *. Dies erleichtert auch die Wartung
Erstellen Sie zunächst die folgende HTML-Datei als "Teil"
html:part:html
<h3>Hier"Teile"Wird kommen</h3>
Gehen Sie in der Vorlage, die Sie laden möchten, wie folgt vor, um ein solches "Teil" zu laden:
informationDetail.html
{% extends "base.html" %}
{% block title %}
Kifu APP
{% endblock %}
{% block body_content %}
<h3>{{ object }}</h3>
<table border="1">
<tr>
<td>{{ object.id }}</td>
<td>{{ object.date }}</td>
<td>{{ object.sente }}</td>
<td>{{ object.gote }}</td>
<td>{{ object.result }}</td>
<td>{{ object.my_result }}</td>
<td>{{ object.small_class }}</td>
<td>{{ object.created_at }}</td>
<td>{{ object.updated_at }}</td>
</tr>
</table>
{% include 'part.html' %} <!--Laden hier-->
{% endblock %}
Mit genau diesem können Sie den Teil namens part.html laden und anzeigen!
Erstellen Sie .env
Recommended Posts