Python 如何避免Django中的模板重复?

Python 如何避免Django中的模板重复?,python,django,django-templates,Python,Django,Django Templates,我在几个模板上重复了以下代码: {% for element in elements %} <div class="some-class"> <div class="another-class"> <div class="row"> <div class="col-xs-3"> <img class="img-respons

我在几个模板上重复了以下代码:

{% for element in elements %}
    <div class="some-class">
        <div class="another-class">
            <div class="row">
                <div class="col-xs-3">
                    <img class="img-responsive" alt="{{ entry.user }} avatar" style="border-radius: 50%; width: 100%;" src="{{ entry.avatar_url}}">
                </div>
                <div class="col-xs-9" style="some-style">
                    {% if entry.data1 %}<small>{% trans entry.data1 %}</small><br>{% endif %}
                    {% trans entry.data2 %} {% trans entry.data2 %}
                    <br>
                    <small style="some-style">
                        {% blocktrans with timestamp=entry.timestamp|naturaltime %}
                            {{ timestamp }}
                         {% endblocktrans %}
                    </small>
                 </div>
            </div>
        </div>
    </div>
{% endfor %}
{%for elements%}
{%if entry.data1%}{%trans entry.data1%}
{%endif%} {%trans-entry.data2%}{%trans-entry.data2%}
{%blocktrans with timestamp=entry.timestamp | naturaltime%} {{timestamp}} {%endblocktrans%} {%endfor%}
我想知道避免重复这段代码的最佳方法是什么,我是Django的新手,非常感谢您的帮助

编辑: 如果我需要将内容传递到该模板,该怎么办。它将使用与包含文件中相同的上下文还是我应该以某种方式指示上下文?

这很简单:

将这段HTML放在一个名为
reusible.HTML
的文件中,然后放在其他模板中

像这样:

<!-- Other HTML -->

... html stuff here

{% include 'reusable.html' %}

在它自己的模板中设置它,例如
new\u template.html
,并使用
{%include'new\u template.html%}
,无论您想在哪里使用它

哦,是的。很简单。我总是这样做。让我保持干燥;)如果我需要向该模板传递一个参数,或者上下文与包含的文件中的上下文相同,该怎么办?更新了我的答案!还有一个问题,我应该重新加载
{%load i18n%}
和新文件中的其他加载还是包含文件中的加载就足够了?是的,在每个模板中,您必须包含
{%load…%}
谢谢,尽管您的答案与另一个非常相似。
`{% include 'reusable.hmtl' with var_a='abc' var_b=123 %}`