繁体   English   中英

Django for / if在模板中

[英]Django for/if in template

我有一个简单的问题,但目前我很想解决。

我有从视图传递到模板的不同列表,以为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由一个由列表创建的下拉菜单更改。 相同的列表定义了字典的键。

我自己找到了解决方案,但是不知道为什么其他versoin无法正常工作..问题似乎是if语句。

        {% for key, value in filter_lists.items %}
            if (input_class == '{{key}}'){
                var rawData = [
                    ['{{key}}'],
                    {% for item in value %}['{{item}}'],
                    {% endfor %}
                ];
            }
        {% endfor %}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM