如何使用由多行组成的django模板变量分配javascript变量?
我正在从mysql长文本字段获取数据。它可以包含新行。 该数据被传递到模板,我在模板中将该长文本数据分配给一个javascript变量。我现在遇到的问题是,它会抱怨如何使用由多行组成的django模板变量分配javascript变量?,javascript,django,Javascript,Django,我正在从mysql长文本字段获取数据。它可以包含新行。 该数据被传递到模板,我在模板中将该长文本数据分配给一个javascript变量。我现在遇到的问题是,它会抱怨未终止的字符串文本 这是因为它试图以这种方式分配数据 $("#id_review").val("kokokoeoarkgeorkgeorkgeorkg er g gerag earg ea gae gr er gea g ear ge gae rg eagr kok") 我试图编写一个自定义过滤器,在每一行的末尾添加+,但效果不太
未终止的字符串文本
这是因为它试图以这种方式分配数据
$("#id_review").val("kokokoeoarkgeorkgeorkgeorkg
er
g
gerag
earg
ea
gae
gr
er
gea
g
ear
ge
gae
rg
eagr
kok")
我试图编写一个自定义过滤器,在每一行的末尾添加+,但效果不太好。所以我想知道这个问题是否可以解决
我对过滤器的尝试
@register.filter
def escapenewline(value):
return value.replace('\n', '\"+')
使用JSON编码器创建可以在JavaScript代码中使用的有效字符串 通过快速搜索,Django似乎没有用于此目的的模板筛选器,但添加它应该不会太困难。假设您的json筛选器名为
tojson
,则模板中的代码如下所示:
$("#id_review").val({{ whatever|tojson }});
以下是过滤器的外观:
import json
@register.filter
def tojson(value):
return json.dumps(value)
我用我尝试使用的过滤器更新了我的问题。或者我应该直接在视图中将对象更改为JSON?不要试图弄乱换行符。使用
JSON.dumps()
创建JSON。这将确保以创建有效JavaScript值所需的任何方式处理所有字符。