如何使用由多行组成的django模板变量分配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") 我试图编写一个自定义过滤器,在每一行的末尾添加+,但效果不太

我正在从mysql长文本字段获取数据。它可以包含新行。 该数据被传递到模板,我在模板中将该长文本数据分配给一个javascript变量。我现在遇到的问题是,它会抱怨
未终止的字符串文本

这是因为它试图以这种方式分配数据

$("#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值所需的任何方式处理所有字符。