我试图创建一个动态表单,其中包含不同数量的CharFields。我希望能够以我的形式在半任意的地方随意显示它们。我的方法是创建一个iterable函数,将自身字段[索引]。然而,当我这样做的时候,我真的看到了:
<django.forms.fields.CharField object at 0x80bae6be0>
<django.forms.fields.CharField object at 0x80bae6f98>
<django.forms.fields.CharField object at 0x80bae6da0>
如何使CharField()按预期呈现?在
我的代码如下:
^{pr2}$模板基本上是这样做的:
{% for x in myform.subfield %} {{ x }} {% endfor %}
您要查找的是窗体的边界字段。e、 g.{表单.电子邮件}} 您正在迭代字段实例(不是包装字段实例的窗体的BoundField实例),例如{表单域电子邮件}}. 这就是为什么你得到
来自模板的结果。参见:https://stackoverflow.com/a/671305/3035260
另请参阅django的文档:https://docs.djangoproject.com/en/1.10/ref/forms/api/#django.forms.BoundField
尝试这种肮脏的方法(请参阅下面我的编辑,以获得更好的解决方案):
编辑: 一个更好的方法: 一个领域有一个
方法根据文档:https://docs.djangoproject.com/en/1.10/_modules/django/forms/fields/#Field.get_bound_field
因此,在最后一行(“yield”行)的子字段方法中,请尝试以下操作:
^{pr2}$然后,模板将保持不变:
一切都应该如你所愿。在
相关问题 更多 >
编程相关推荐