在Python中生成JavaScript字符串

1 投票
2 回答
3307 浏览
提问于 2025-04-15 15:46

我在Python变量中存储了字符串,现在我想输出一个包含JavaScript的HTML,并且需要在里面创建JavaScript变量。

比如,在Python中:

title = "What's your name?"

我使用Cheetah来生成HTML。Cheetah代码:

var title = '$title';

我该如何正确处理这些内容,以便能创建出正确的JavaScript变量呢?

我需要的实际HTML输出是:

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

2 个回答

-2

你可以在Python里先把标题中的单引号替换掉,方法是用 title = title.replace("'", "\\'") 这行代码。这样在标题传到Cheetah之前就处理好了。或者,你也可以给Cheetah添加一个自定义的过滤器,然后在模板中调用它。不过,感觉在Python这边处理起来更简单一些。

4

你可能需要用到JSON格式:

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

不要用Cheetah生成JavaScript,已经有现成的库可以使用了。

撰写回答