首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将列表从视图上下文传递到模板,并将其作为模板中的数组分配。

问将列表从视图上下文传递到模板,并将其作为模板中的数组分配。
EN

Stack Overflow用户
提问于 2019-08-22 13:39:02
回答 1查看 456关注 0票数 0

我试图从视图上下文中传递一些列表:

代码语言:javascript
复制
def list_test(request):
    l = ['a', 'b', 'c']
    context = {'l': l}
    return render(request, 'app/list_test.html', context)

作为JS数组的前端:

代码语言:javascript
复制
<script>
    let l = {{ l }}
    console.log(l)
</script>

但是,日志

未察觉的SyntaxError:意想不到的标记&

在控制台里。

我试过把变量放在双引号中:

代码语言:javascript
复制
let l = "{{ l }}"

但是,变量被赋值为一个大字符串,并使用不需要的编码:

代码语言:javascript
复制
[&#39;a&#39;, &#39;b&#39;, &#39;c&#39;]

模板循环将工作:

代码语言:javascript
复制
 {% for x in l %}
      console.log("{{x}}")
 {% endfor %}

但我不想重复。我想立刻分配列表。

有什么简单的方法吗?

我是否应该以某种方式使用模板循环将字符串拆分为数组项?

EN

回答 1

Stack Overflow用户

发布于 2019-08-22 13:43:19

使用JSON:

代码语言:javascript
复制
def list_test(request):
    l = ['a', 'b', 'c']
    context = {'l': json.dumps(l)}
    return render(request, 'app/list_test.html', context)

并在模板中将值标记为安全值并解析它:

代码语言:javascript
复制
    let l = JSON.parse("{{ l|safe }}");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57610671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档