我有一个简单的问题,但此刻我愚蠢地解决它。
我有一个从视图传递到模板的不同列表,以便为googletable创建数据。它工作得很好,看起来如下:
var input_class = 'bc';
if(input_class == 'ab') {
var rawData = [['ab'],
{%for ab in ab_list%}['{{ab}}'],
{% endfor %}];
}
else if(input_class == 'bc') {
var rawData = [['bc'],
{%for bc in bc_list%}['{{bc}}'],
{% endfor %}];
}
else {
var rawData = [['cd'],
{%for cd in cd_List%}['{{cd}}'],
{% endfor %}];
}
出于显而易见的原因,我想把它放在以下内容中:
{% for key, value in filter_lists.iteritems %}
{% if input_class == '{{key}}' %}
var rawData = [['{{key}}'],
{% for item in value %}['{{item}}'],
{% endfor %}
];
{% endif %}
{% endfor %}
可悲的是它不起作用。键都是'ab'之类的字符串,值与工作示例中的列表相同。
感谢你的帮助,雅各布。
编辑:
我正在使用python 2.7,django 1.11
input_class由列表创建的下拉菜单更改。相同的列表定义了字典的键。
答案 0 :(得分:0)
我自己找到了解决方案,但不知道为什么其他的反效果不起作用..问题似乎是if语句..
{% for key, value in filter_lists.items %}
if (input_class == '{{key}}'){
var rawData = [
['{{key}}'],
{% for item in value %}['{{item}}'],
{% endfor %}
];
}
{% endfor %}