簡體   English   中英

如何避免在Django模板中復制字符串?

[英]How do I avoid duplicating strings in my Django templates?

我想知道如何在我的模板中復制幾個字符串。 具體來說,我希望在我的頁面頂部創建一個目錄類型的導航,其中包含指向更遠內容的錨點鏈接(如http://www.google.com/transparencyreport/faq/ )。 我希望鏈接具有與更遠的部分標題相同的文本。

我已經考慮過使用{%with%},但是在{%with%}塊中嵌入所有內容似乎很笨重。

類似於Whats在django模板中復制數據的最佳方法? ,但我沒有在任何地方繼承此模板,因此使用{%block%}並不是一個真正的選擇。

這似乎只是使用您從視圖傳遞的模板變量(例如{{ link_name }} )。

您也可以使用包含另一個模板的模板包含標記以及您的重復信息。

在您的視圖中,您可能會破壞您的內容,以便可以單獨訪問標題作為模板變量。 您可以將與每個標題關聯的信息存儲為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 %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM