在 python 中生成 javascript 字符串

发布于 2024-08-11 00:22:54 字数 353 浏览 3 评论 0原文

我有字符串存储在 python 变量中,我输出一个包含 javascript 的 html,并且我需要创建 javascript 变量。

例如,在 python 中

title = "What's your name?"

我使用 Cheetah 生成 html。 Cheetah 代码:

var title = '$title';

我如何正确转义以便创建正确的 javascript 变量? 实际需要的 html 输出:

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

i have string stored in python variables, and i am outputting a html that contains javascript, and the i need to create javascript variables.

for ex, in python

title = "What's your name?"

i use Cheetah to generate the html.
Cheetah code:

var title = '$title';

how do i escape this correctly so that a correct javascript variable is created?
actual html output needed:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

╄→承喏 2024-08-18 00:22:54

你可能想要 JSON:

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

不要用 cheetah 生成 js,有库。

You probably want JSON:

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

Don't generate js with cheetah, there are libraries.

坚持沉默 2024-08-18 00:22:54

要么在 title 值到达 Cheetah 之前在 Python 中执行 title = title.replace("'", "\\'") ,要么向 Cheetah 添加自定义过滤器为此目的并在模板中调用它。不过,在 Python 方面执行此操作似乎更简单。

Either just do title = title.replace("'", "\\'") in Python before the title value gets to Cheetah, or add a custom filter to Cheetah for the purpose and invoke it in the template. Doing it on the Python side of things seems simpler, though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文