2011-08-19 53 views
2

一個JavaScript變種我有以下模板:指定的字符串從Django的

var url = {{url}}; 
$.getJSON(url... 

及以下觀點:

return render_to_response('template.html', {"url":"/this/url/"}) 

,但由於某種原因,JavaScript並沒有把它當作一個string。爲什麼有這個原因?我應該用什麼語法?

+2

模板解析後JavaScript源代碼是什麼樣的? – agf

+0

'{{url}}'如其他人所述。有一點建議,養成動態編寫JS的習慣永遠不是一個好主意。最好將所有對象寫入單個JSON對象,然後在JavaScript內引用 - 因爲它將所有動態對象保留在一個位置,所以更容易維護。 – martin

回答

3

這條線在你的模板:

var url = {{url}}; 

將成爲此:

var url = /this/url; 

有在模板中沒有報價,且有串中沒有報價,所以沒有報價在輸出中。你應該使用這個:

var url = "{{url}}"; 

甚至更​​好:

var url = "{{url|escapejs}}"; 

,這樣的特殊字符將得到妥善處理。