1

在我的 Django 模板中,我有以下代码:

series: [{
    name: 'Ratings',
    data: [
    {% for item in graph_data %}
    {
        name: "{{item}}",
        x: Date.UTC({{item.date.year}},{{item.date.month}},{{item.date.day}}),
        y: {{item.rating}}

    },
    {% endfor %}
    ]
}]

但是,当名称中包含单引号时,例如:

The Story Behind 'Toy Story'

在图表上,它显示为:

The Story Behind %#39;Toy Story'
4

2 回答 2

1

尝试使用escapejsescape过滤。

{% for item in graph_data %}
    {
        name: "{{item|escapejs}}",
        x: Date.UTC({{item.date.year}},{{item.date.month}},{{item.date.day}}),
        y: {{item.rating}}

    },
于 2013-10-15T04:42:23.350 回答
1

看这里

https://docs.djangoproject.com/en/1.1/topics/templates/

它说

默认情况下,在 Django 中,每个模板都会自动转义每个变量标签的输出。具体来说,这五个字符被转义:

< is converted to &lt;
> is converted to &gt;
' (single quote) is converted to &#39;
" (double quote) is converted to &quot;
& is converted to &amp;

对于单个变量

要禁用单个变量的自动转义,请使用安全过滤器:

This will be escaped: {{ data }}
This will not be escaped: {{ data|safe }}
于 2013-10-15T04:43:07.850 回答