2010-09-15 56 views
2

我正在尋找一個Django模板過濾器,將多行構建變成一個大行。有沒有人實現過它? 原因是 - 我有一個表格,{{form.as_p}}創建一個多行HTML片段,我想創建一個javascript變量,它是一個HTML片段,但是當我這樣做:Django模板過濾器 - 一行

var new_div_text = '{{form.as_p}}'; 

它不起作用。原因很明顯,在JavaScript結構像

var hello = 'Hello 
world';  

無效!

回答

5

閱讀您的使用案例,它不會顯示您只想刪除行。如果您的某個表單標籤包含「角色」,該怎麼辦?糟糕,您的JavaScript現在無效。 Django附帶了一個名爲escapejs的過濾器,我們用它來解決這個問題。

隨着escapejs,您可以鍵入:

var newDivText = '{{ form.as_p|escapejs }}' 

,你會不會擔心破壞你的JavaScript的任何字符。

+0

準確!我沒有考慮單引號轉義,因爲as_p使用雙引號,而不是單引號,但正如我現在看到的,escapejs真的是我需要的! – Graf 2010-09-15 13:14:12

相關問題