【发布时间】:2017-06-17 11:39:41
【问题描述】:
我们可以通过继承forms.Form直接创建一个简单的表单。但是,我希望根据管理员指定的键值动态创建表单。考虑一下,用户提供的地图如下:
[
{
"key": "name",
"value": "CharField"
},
{
"key": "url",
"value": "URLField"
}
]
根据上面给出的地图,我如何创建一个与下面基于类的表单创建等效的表单:
from django import forms
class CommentForm(forms.Form):
name = forms.CharField(label='name')
url = forms.URLField(label='url')
我目前的方法可能是遍历每个键值对并手动制作 HTML 表单。 django可以不用写类定义就可以创建动态表单吗?
【问题讨论】:
-
从哪里获得额外属性(
label、choices等)? -
现在,我们可以假设它的值为 key。但是,我会根据地图添加元数据。
标签: python django forms django-forms