【发布时间】:2012-07-07 20:28:21
【问题描述】:
我有一个 python-Django 列表:
list_a = ['user_a', 'user_b']
现在我使用以下代码将其渲染为模板:
extra_context = {
'a': list_a
}
return direct_to_template(request, 'mytemplate.html', extra_context)
在我的模板中,我编写了以下 java 脚本代码来将 list_a Django-list 传递给 Js-list:
var user = [{% for i in user_list %}{{ i }}{% if forloop.last %}{%else%},{%endif%}{% endfor %}];
但是当我打开模板时。它显示以下错误(使用 Inspect 元素检查):
Uncaught ReferenceError : user_a is not defined
我尝试使用Inspect Element 打印驻留在javascript 中的user 变量。它打印正确的值,即
var user = [user_a, user_b]
我不明白为什么会这样:(
【问题讨论】:
-
你的 Javascript 应该如何知道 'user_a' 是什么?
-
@DanielRoseman 我没找到你。我刚刚使用 Chrome 中的 Fire bug 或 Inspected element 工具检查了这些错误
-
@AmitPal 对,所以
var user = [user_a, user_b],但是user_a和user_b是什么?这些内部名称未定义,因此出现错误。 -
@kojiro 哦!我明白了,但是我应该如何拒绝,因为它是从 python 中的数据库中获取的动态列表。我是 Javascript 的新手。我该怎么办?是否可以将这些作为字符串传递?
标签: javascript python django django-templates python-2.7