我正在通过渲染将活动数据传递到我的模板,类似于以下内容:
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}}