[英]How to set initial values in django forms.ChoiceField?
我有简单的 django 形式:
class AddSymbolForm(forms.Form):
list_n = forms.ChoiceField(choices=[(1,1), (2,2), (3,3)])
如何在 views.py 中设置初始值?
我尝试过这样的事情:
add_symbol_form = AddSymbolForm(initial={list_n:3})
这是行不通的。 那么有什么方法可以为选择字段设置初始值吗?
PS这很有趣,但是这段代码设置了正确的初始值
class AddSymbolForm(forms.Form):
list_n = forms.ChoiceField(choices=[(1,1), (2,2), (3,3)], initial=3)
而这个不能正常工作:
class AddSymbolForm(forms.Form):
list_n = forms.ChoiceField(choices=[(1,1), (2,2), (3,3)])
list_n.initial = 3
默认情况下,选择列表的第一个元素将是初始表单值。 尝试这个:
class AddSymbolForm(forms.Form):
list_n = forms.ChoiceField(choices=[(3,3),(1,1),(2,2)])
您可以在视图类的get_initial()
中设置初始值,它来自FormMixin
,它是大多数通用视图的一部分
def get_initial(self):
initial = super().get_initial()
initial['list_n'] = 3
return initial
上面的示例具有硬编码值,但您应该从选项中进行choices
和/或依赖其他条件的值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.