class MyForm(forms.Form):
my_hidden_field = forms.MultipleChoiceField(widget=forms.MultipleHiddenInput, choices=(...))
def my_view(request):
form = MyForm(initial={'my_hidden_field': MyModel.objects.values_list('id', flat=True)})
使用此类代码,如果从initial
调用中删除MyForm
参数,my_hidden_field
将不会以HTML格式呈现,但如果删除MultipleHiddenInput
小部件,则会显示再次,
如何使其正确呈现?
答案 0 :(得分:2)
这就是它实施的方式。如果你没有传递任何值,那么就没有任何东西可以呈现,因为它无论如何都是隐藏的,所以用户不能改变这些值。
您可以在此处查看实施: https://github.com/django/django/blob/master/django/forms/widgets.py#L316
如果你需要渲染它,你需要将一些初始数据传递给它,但很奇怪,具体用例是什么?