我们如何允许用户在Django中为表单创建自己的字段?

时间:2014-01-10 04:09:38

标签: django django-models django-forms django-views

这可能是一个稍微宽泛的问题,但实质上,我希望允许我的网站用户能够向表单添加字段(文本或字段),以便其他用户可以填写它们。我应该如何构建我的模型/表单/视图以允许这种类型的自定义?谢谢!

1 个答案:

答案 0 :(得分:1)

使用元类:

from django.forms import BaseForm

fields = {
    'name': forms.CharField(max_length=50),
    'id': forms.IntegerField()
}

type('CustomForm', (BaseForm,), { 'base_fields': fields })

要获得更全面的方法,请使用django-forms-builder:

http://django-forms-builder.readthedocs.org/en/latest/

Mezzanine也支持这一点:

http://mezzanine.jupo.org/docs/packages.html#module-mezzanine.forms