呈现类似 (') 的字符以使其成为本机 HTML 特殊字符



我正在通过渲染将活动数据传递到我的模板,类似于以下内容:

return render(request, self.template_name, {'campaigns': campaigns})

现在没关系,只是有时{{campaign.name}}是一个看起来像的字符串

'David's Campaign'

但有时,当它在javascript中被打乱时,因为我使用的是',字符串可能会被缩短,不可避免地使其类似于'David'

那么,我的问题是,我如何才能通过原生HTML或具有特殊字符值的东西,而不会干扰javascript?

您可以使用markupsafe:

import markupsafe
markupsafe.escape("My foo's are also bars")  # Markup(u'My foo's are also bars')

标记对象有一个__html__方法,大多数模板语言似乎都知道如何使用它(我认为django包含在其中,但我自己从未使用过它)——所以你应该能够将它传递到通常传递字符串的任何地方。

将其编码为JSON。

var campaign = {{campaign|jsonify}}

最新更新