【发布时间】:2020-05-09 18:12:36
【问题描述】:
我有一个SurveyForm,我可以在其中动态创建我的字段。这是我可以做的最基本的代码,但仍然有我的问题:
class SurveyForm(forms.Form):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields = []
self.fields_alone = []
new_field = forms.CharField(label=f'1 - 2: This is the question',
widget=widgets.Input(attrs={}))
self.fields.append(('id_1', new_field))
self.fields_alone.append(new_field)
self.fields = OrderedDict(self.fields)
在我的模板中,当我执行“经典”循环时,我可以显示字段并且它可以工作,但是应该访问相同字段的第二个循环不起作用:
<form action="" method="post">
{% for field in form %}
{{ field.label }} :{{ field }} <br>
{% endfor %}
{% for field in form.fields_alone %}
{{ field.label }} :{{ field }} <br>
{% endfor %}
</form>
第二个循环将字段显示为字符串,如<django.forms.fields.CharField object at 0x0000012C00EF60D0>
我缺少显示的类似于“经典”循环的内容?
【问题讨论】:
标签: django django-forms django-templates