84

非常に基本的なテンプレート(basic_template.html)があり、別の部分的なテンプレートを使用してフォーマットされたデータを入力したいと思います。basic_template.htmlには、部分テンプレートを使用してフォーマットされたものがいくつか含まれている場合があります。

views.pyでコードをどのように構成する必要がありますか?

私がこれを行っている理由は、後でAjaxを使用して入力されるためです。私はこれを正しくやっていますか?

4

4 に答える 4

159

できるよ:

<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>
于 2012-06-11T19:02:27.230 に答える
24

ブロックを使用してこれを行うことができます。ブロックは、拡張したテンプレートのセクションをオーバーライドする 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を参照してください。

于 2012-06-11T19:23:45.613 に答える