如何通过模板将Django数据库中的xml块传递到javascript?

2024-10-02 08:17:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据库字段存储另一个web应用程序(即与django无关)使用的xml块。我需要把xml块插入页面正在使用的javascript中。在

在我的模板中:

var netdata = "{% filter addslashes  %}{{netdata}}{% endfilter %}"

{my database}中的{和多行}类似。“addslashes”过滤器处理引号,我想。在

上面给出了“unterminated string literal”错误。(大概是因为新线的缘故)。我需要做些什么才能将整个xml块,新行和所有内容,转换成一个有效的javascript变量?在

对于更多上下文,我尝试使用CytoscapeWeb。在文件中化合物.js在那个演示中,他们得到的数据如下:

^{pr2}$

其中url是the same as above。在

我尝试做一个类似的事情,但是通过django模板从我的数据库中传递数据(跳过整个“获取外部文件”部分)。在

(我不想在存储到数据库之前对xml进行解析,所以请不要这样做)。在


Tags: 文件django模板web数据库应用程序varmy
2条回答

您可能应该使用^{} filter而不是addslashes。另请注意,您可以直接过滤变量:

var netdata = "{{ netdata|escapejs }}"

您的问题是生成的javascript是一个“多行字符串”,除非您像这样对每一个新行进行转义,否则javascript无法做到这一点:

var my_string = "hello \
                 world"

因此,在打印xml字符串之前,可以用\和一个新行替换每一个新行,也可以完全删除新行。在

我相信escapejs过滤器可以为您做到这一点。{{ netdata|escapejs }}

相关问题 更多 >

    热门问题