非常に基本的なテンプレート(basic_template.html)があり、別の部分的なテンプレートを使用してフォーマットされたデータを入力したいと思います。basic_template.htmlには、部分テンプレートを使用してフォーマットされたものがいくつか含まれている場合があります。
views.pyでコードをどのように構成する必要がありますか?
私がこれを行っている理由は、後でAjaxを使用して入力されるためです。私はこれを正しくやっていますか?
非常に基本的なテンプレート(basic_template.html)があり、別の部分的なテンプレートを使用してフォーマットされたデータを入力したいと思います。basic_template.htmlには、部分テンプレートを使用してフォーマットされたものがいくつか含まれている場合があります。
views.pyでコードをどのように構成する必要がありますか?
私がこれを行っている理由は、後でAjaxを使用して入力されるためです。私はこれを正しくやっていますか?
できるよ:
<div class="basic">
{% include "main/includes/subtemplate.html" %}
</div>
subtemplate.html
別の Django テンプレートはどこにありますか。この中subtemplate.html
に、Ajax で取得する HTML を配置できます。
テンプレートを複数回含めることもできます。
<div class="basic">
{% for item in items %}
{% include "main/includes/subtemplate.html" %}
{% endfor %}
</div>
ブロックを使用してこれを行うことができます。ブロックは、拡張したテンプレートのセクションをオーバーライドする Django テンプレート タグです。以下に例を示します。
basic_template.html
<body>
{% block 'body' %}
{% endblock %}
</body>
含めたいテンプレート: (つまり、example.html)
{% extends 'basic_template.html' %}
{% block 'body' %}
/* HTML goes here */
{% endblock %}
views.py :
return render_to_response(template='example.html', context, context_instance)
これを行うと、 basic_template.htmlが読み込まれますが、basic_template.html内のすべてが 内に{% block 'body' %} {% endblock %}
含まれるものに置き換えられます{% block 'body' %} {% endblock %}
。
ブロックとテンプレートの継承について詳しくは、Django Docsを参照してください。