我从mysql longtext字段中获取数据。它可以包含新行。
此数据传递到模板,我将此longtext数据分配给javascript变量。我现在遇到的问题是它会抱怨unterminated string literal
。
这是因为它试图以这种方式分配数据
$("#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', '\"+')
答案 0 :(得分:3)
使用JSON编码器创建一个可在JavaScript代码中使用的有效字符串。
通过快速搜索,Django似乎没有这个模板过滤器,但它不应该太难添加。假设您的json过滤器被称为tojson
,模板中的代码将如下所示:
$("#id_review").val({{ whatever|tojson }});
以下是过滤器的外观:
import json
@register.filter
def tojson(value):
return json.dumps(value)