2012-11-22 38 views
1

我有很多與HTML一起內嵌的腳本編寫的。現在,我正在嘗試將腳本移動到外部文件。但是,我的大多數腳本都使用django變量和if.else語句。所以,我無法將這些腳本移動到外部文件。是否可以在從外部文件加載的腳本中使用django模板變量/條件?使用Django變量文件

+1

「包括」是的Django模板功能的一部分。這意味着它必須通過django模板渲染引擎來運行,這意味着它需要摺疊到最終的渲染文件中。但它仍然可以來自另一個文件。 – jdi

回答

1

你所要求的是一個客戶端包括,才能最終留住外部文件作爲一個「鏈接」。這意味着加載主頁面,然後加載外部內容,所有客戶端。然而,你想要包含django處理。

Django模板呈現服務器端,這意味着他們必須與上下文,服務器端進行評估。主頁面必須將包裝摺疊到其中以便將其提供給客戶端。因此,如果您接受可以將內容保存在外部文件中,但它們會呈現在同一頁面中,您所要求的內容是可能的。

否則,你將不得不做一些更復雜的類似的JavaScript加載外部網頁,傳遞相同的上下文信息回服務器,它可以通過不同的URL端點呈現模板。或者只依靠會話數據,並讓其他URL自己完全呈現其頁面。

0

您是否使用include。創建另一個html文件並將其包含在父模板中。

你可以通過附加的上下文中使用的關鍵字參數的模板:

{% include "name_snippet.html" with person="Jane" greeting="Hello" %} 
+0

儘管如此,它仍會在最終呈現的頁面中呈現爲內聯腳本。我希望它是一個外部文件 –

+1

您可以將腳本保留在外部文件中,並將其包含在模板中的任何位置。 – Ahsan

+0

作爲網頁速度優化的一部分,我需要「因此,而不是內嵌JavaScript和CSS文件,最好將它們放在外部文件中。」 –