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

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

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

最佳答案

使用元类:

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/

夹层也支持这个:

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

关于django - 我们如何允许用户在 Django 中为表单创建自己的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21036043/

相关文章:

django模型关系如何将模型A两次链接到模型B

Django 使用 curry 构建具有自定义表单的表单集

python - 在 Django 中编写一个非常基本的搜索表单

django - 截断中间的文本,Django 模板标签

django 'thumbnail' 不是有效的标签库 :

python - 让 Django 为 MySQL 后端创建外键

django - 获取 Django 模型中下一个对象的 id

django - 序列化器不显示外键数据

python - 不允许同时指定 'fields' 和 'form_class'

django - 如何防止 Django Admin 中 FK/MTM 字段的自(递归)选择