includeタグ
includeタグ
Djangoはincludeタグと呼ばれるHTMLファイルに埋め込めるタグがあります。
それを使うことで他のテンプレート(HTMLファイル)を読み込むことが出来ます。
snippetの作成
今回はtemplatesの下にsnippetsフォルダを作りその中にHTMLファイルを作っていきます。
mkdir templates/snippets
touch templates/snippets/helloworld.html
このファイルを編集していきましょう。
templates/snippets/helloworld.html
<p>Hello world</p>
includeで読み込む
結論から言うと今回の場合は
{% include 'snippets/helloworld.html' %}
を任意のHTMLファイルに挿入すれば読み込まれます。
例
{% extends 'base.html' %}
{% load static %}
{% block main %}
<ul class="list-group">
<li class="list-group-item active">News</li>
{% for news in newses %}
<li class="list-group-item"><a href="{% url 'sample_app:news_detail' news.pk %}">{{ news.title }}</a></li>
{% endfor %}
</ul>
{% endblock %}
例えば元々このようなテンプレートがあったとします。
そしてこのテンプレートに先程のhelloworld.html
を読み込みたいとします。
その場合は
{% extends 'base.html' %}
{% load static %}
{% block main %}
<ul class="list-group">
<li class="list-group-item active">News</li>
{% for news in newses %}
<li class="list-group-item"><a href="{% url 'sample_app:news_detail' news.pk %}">{{ news.title }}</a></li>
{% endfor %}
</ul>
{% include 'snippets/helloworld.html' %}
<!-- ↑これが増えた -->
{% endblock %}
このようにすればオッケーです。
python manage.py runserver
で確認してみましょう。
Hello worldが増えているはずです。
Just Python フリープラン
ジャスパイなら教材は全て無料!