【问题标题】:Django show different forms if creating or updating a model如果创建或更新模型,Django 会显示不同的表单
【发布时间】:2021-10-18 07:18:16
【问题描述】:

我有一个 forms.py,在创建时会显示一个下拉列表。但我希望它在更新时成为一个隐藏字段。是否可以根据您正在创建或更新的内容使 forms.py 显示 2 个不同的视图?

【问题讨论】:

    标签: django forms django-class-based-views


    【解决方案1】:

    您可以根据不同的需求创建多种表单(例如,一种用于创建,一种用于更新)。因为可能有共同的字段,所以可以进行类继承。

    class ParentAbstractForm():
        #define common fields here
    
    class CreationForm(ParentAbstractForm)
        # specific fields
    
    class UpdateForm(ParentAbstractForm)
        # specific fields
    

    【讨论】:

    • 或者您将一个标志传递到表单中并动态添加或修改表单字段。无论如何,您将需要两个不同的视图。
    • @Tiino 嗯,你说的是对的,但是你的示例代码没有做任何继承,它只是有一个类作为另一个类的属性。
    • @AbdulAzizBarkat 回复已更新。谢谢
    猜你喜欢
    • 2012-12-16
    • 1970-01-01
    • 2016-09-19
    • 2023-04-02
    • 2022-10-14
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多