我想知道如何在模板中复制几个字符串。具体来说,我希望在我的页面顶部创建一个目录导航类型,其中包含指向更远内容的锚点链接(如http://www.google.com/transparencyreport/faq/)。我希望链接的文本与更远的部分标题相同。
我考虑过使用{%with%},但是我必须将所有内容嵌套在{%with%}块中。
与Whats the best way to duplicate data in a django template?类似,但我不会在任何地方继承此模板,因此使用{%block%}并非真正的选项。
答案 0 :(得分:2)
这似乎只是使用您从视图传递的模板变量(例如{{ link_name }}
)。
您也可以使用template inclusion tag包含另一个包含重复信息的模板。
答案 1 :(得分:0)
在您看来,您可能会破坏您的内容,以便可以将标题作为模板变量单独访问。您可以将与每个标题关联的信息存储为dicts列表:
page_content = [
{
'id':'header1',
'header': 'Text for Header 1'
'content' : 'Content Beneath header 1'
},
]
然后,在您的模板中,您可以使用以下内容生成内容表:
{% for d in page_content %}
<a href="#{{ d.id }}">{{ d.header }}</a>
{% endfor %}
虽然您网页的内容如下所示:
{% for d in page_content %}
<h1 id="#{{ d.id }}">{{ d.header }}</h1><p>{{ d.content }}</p>
{% endfor %}