Django Kwarg可以采用元组或列表而不是字符串或整数

时间:2014-08-25 12:44:43

标签: python django

根据我在Django的有限经验到目前为止,我只想使用字符串或整数来表示kwarg,是否可以通过列表或元组为1 kwarg提供多个值?

示例编辑**

我正在构建一个能够像这样过滤的DetailView:

    <ul class="list--inline--buttons left">
        <li>
            <a href="#" data-dropdown="role-line">Role Line <i class="fa fa-caret-down"></i></a>
            <ul id="role-line" class="f-dropdown" data-dropdown-content>
                {% with 'all att mid def gk' as role_lines  %}
                    {% for rl in role_lines.split %}
                        {% cycle 'All' 'ATT' 'MID' 'DEF' 'GK' as role_lines_name silent %}
                        <li>
                            <a href="{% url url_string object.slug card_type|default:'all' rl sort_by|default:'ovr' %}">
                                {{ role_lines_name }}
                            </a>
                        </li>
                    {% endfor %}
                {% endwith %}
            </ul>
        </li>
        {% if role_line %}
            <li class="active"><a href="#">{{ role_line|capfirst }}</a></li>
        {% endif %}
    </ul>

构建/all/att/ovr/

因此,他们可以一次过滤1个role_line而不是多个role_lines。因此,我希望能够选择att,然后如果他们选择mid,则只需将其附加到role_line kwarg即可创建/all/att/mid/ovr/

1 个答案:

答案 0 :(得分:0)

嗯,我不知道你为什么这样做,但模板不适合这样的地方。您可以将其添加到您作为列表查看的上下文

role_lines = ['all','att','mid','def','gk']
context.update({'role_lines':role_lines})

现在你可以在模板中按照自己的意愿去做,你不需要

with 

你也不需要拆分。如果您需要任何格式(标题,更低等),请在视图中执行此操作并将其传递到视图中的上下文。如果你需要在每个模板中将它放在一个函数中并将其添加到设置

TEMPLATE_CONTEXT_PROCESSORS

元组,就是这样。