2014-04-15 128 views
1

我該如何實現一個Django模板(alert-msg.html),我可以在base.html中包含該模板。加載其數據。Django模板包含一個html模板,加載的數據

要將alert-msg.html頁面放入base.html中不是問題。 但是這個模板如何爲自己加載數據。我不會給每個視圖調用提供數據。

{% loads function_name %},但這隻能調用一個函數...該函數可以操縱alert-msg.html模板嗎?要注入數據?這我試過但仍然沒有結果... :-)

謝謝!

回答

2

這聽起來像你正在尋找的是inclusion tag,它基本上就像一個迷你視圖,你可以從你的模板調用並從請求上下文傳入變量,然後在標記函數中對它們進行處理。如果需要,您可以在base.html中包含該標籤。

如果數據不會顯示在每個視圖中,您可以編寫包含標籤來處理該標籤,也可以在每次調用時使用custom context processor來提供數據。

順便說一句,{% loads foo %}不適用於加載函數 - 它用於加載非默認模板標籤庫,如果您要使用新制作的包含標籤,則需要執行此操作。我建議首先閱讀custom template tags docs的所有內容,爲您提供一些關於何時編寫包含標籤的上下文。

+0

包含標籤是解決方案。非常感謝! – user2883656