【发布时间】:2021-08-19 10:01:56
【问题描述】:
如何在自定义模板标签上转义js?
在我的 custom_tags.py 中,我注册了一个简单的标签,它只是以字典数组的形式从 firebase 获取数据。我想将此数组直接传递给我的 JavaScript,但这样做会出错。
我的 custom_tags.py -
@register.simple_tag
def getMessageData():
message_data = []
data = database.child('ChatMessages').get()
for task in data.each():
message_data.append(task.val())
return dumps(message_data)
在我的 js 中 -
messageData = JSON.parse("{% getMessageData %}");
这给了我Uncaught SyntaxError: Unexpected token & in JSON at position 2 at JSON.parse (<anonymous>) at (index):23 错误。
我尝试通过var temp2 = "{% getMessageData %}" 调试值,所以我发现它的值是
所以基本上我需要一些方法来在我的自定义模板标签上使用 escapejs。它很容易对通过渲染传递的值执行,但使用 {% template_tag_name|escapejs %} 会给出错误,因为它认为 escapejs 是名称的一部分。
【问题讨论】:
标签: javascript json django parsing