【问题标题】:How would we allow users to create their own fields for forms in Django?我们如何允许用户在 Django 中为表单创建自己的字段?
【发布时间】:2014-01-28 22:30:27
【问题描述】:

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

【问题讨论】:

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


    【解决方案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

    【讨论】:

    • 感谢您的快速回复。您将如何将其合并到视图中?这些额外字段接受的信息将保存在哪里?
    猜你喜欢
    • 1970-01-01
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 2018-10-12
    • 1970-01-01
    • 2013-06-28
    相关资源
    最近更新 更多