2009-11-08 54 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方面做它似乎更简单。