我在forms.py
中有以下内容来定义表单输入的选项:
selection = forms.TypedChoiceField (label="Format", choices = (("Choice1", "Choice1"), ("Choice2", "Choice2"), ("Choice3", "Choice3"),widget = forms.RadioSelect, required= True)
在我的模板中,我目前有以下代码行,允许人们选择其中一种选择。
{{ formtoaddselection.selection }}
一般情况下这很好,但我有一个极端情况,我希望有时会覆盖这些默认选项来说CornerCase1
和CornerCase2
。
是否可以覆盖模板中的默认值,如果是,如何?
答案 0 :(得分:2)
在模板层中实现非平凡行为的唯一方法是构建template tags.
类似的东西:
@register.simple_tag
def override_form_choices(field, *args, **kwargs):
field.choices = [(x, x) for x in args]
return field
{% override_form_choices formtoaddselection.selection 'foo' 'bar' 'baz' %}
您可能会发现分配标签更合适/可读/灵活。