2009-11-08 80 views
1

我有字符串存儲在python變量中,並且我輸出一個包含javascript的html,並且我需要創建javascript變量。在python中生成javascript字符串

爲前,在python

title = "What's your name?" 

我使用獵豹生成HTML。 獵豹代碼:

var title = '$title'; 

如何使創建一個正確的javascript變量做我正確地逃離這個? 實際的HTML輸出需要:

var title = 'What\'s your name?'; 

回答

4

你可能想JSON:

import simplejson as sj 
print sj.dumps('What\'s your name?') # => '"What\'s your name?"' 

不要產生與獵豹JS,也有圖書館。

+0

這個很好用!非常感謝,你能告訴我可以使用哪些庫嗎? – kevin 2009-11-08 00:47:54

+0

THC4k 感謝您的這一點,當我試過這個輸出在Python中正常工作。但是獵豹的實際html輸出沒有轉義字符。你知道發生了什麼事嗎? – kevin 2009-11-08 00:55:45

+0

請注意,這不足以逃避不可信的輸入。例如「str」=>「str」破壞現有的JS! – 2013-03-21 22:55:06

-2

要麼在Python中title = title.replace("'", "\\'")之前title值得到Cheetah,要麼爲Cheetah添加一個自定義過濾器,並在模板中調用它。但是,在事情的Python方面做它似乎更簡單。