如何列出表单的所有选项。在Django模板中选择

时间:2015-09-24 05:22:32

标签: django django-forms django-templates

现在我有一个包含Select字段的ModelForm。

class _form(forms.ModelForm):
    class Meta:
        model= _model
        widgets={
        'choice': forms.Select(),
        }

由于某种原因,我想在select中隐藏一些选项。我不想使用js隐藏目标选项,同时在加载模板之前找到隐藏选项的方法。

我尝试在模板中使用以下方法,但失败了。

{% for val, name in form.choice.choices %}
    {% if val != target_val %} <option value="{{val}}">{{name}}</option>{% endif %}
{% endfor %}

我想知道实现我需要的正确方法。或者你可以给我一个更好的解决方案。

谢谢!

1 个答案:

答案 0 :(得分:1)

你做得对,问题就是循环

尝试:

{% for val, name in form.fields.choice.choices %}

而不是:

{% for val, name in form.choice.choices %}

builtins

{% if somevar != "x" %}
  This appears if variable somevar does not equal the string "x",
  or if somevar is not found in the context
{% endif %}