class LoginForm(forms.Form):
    nickname = forms.CharField(max_length=100)
    username = forms.CharField(max_length=100)
    password = forms.CharField(widget=forms.PasswordInput)


class LoginFormWithoutNickname(LoginForm):
    # i don't want the field nickname here
    nickname = None #??

Is there a way to achieve this?

注意:我没有ModelForm分,所以Metaexclude分不起作用.

推荐答案

您可以通过覆盖init方法来更改子类中的字段:

class LoginFormWithoutNickname(LoginForm):
    def __init__(self, *args, **kwargs):
        super(LoginFormWithoutNickname, self).__init__(*args, **kwargs)
        self.fields.pop('nickname')

Django相关问答推荐

为什么当对字段使用自定义序列化器时,Django Rest框架中Inbox字段会消失?

Django REST framework:object has no attributed after annotation;Got attributeError when try to get a value for field field on serializer<>

django命令中的no_color不起作用

在模板中自动添加变量

如何从列中捕获数据并将其添加到下拉菜单中,以便表单填充另一个表

通过 OrderingFilter 过滤平均和

如何组织 Django REST Framework url

`.objects` 属性在哪里添加到 Django 的 models.Model 类中的实例命名空间?

CsrfViewMiddleware 和 enforce_csrf 有什么区别?

在 Serverless + Lambda + API Gateway HTTP API 上运行的 Django 应用程序正在重写链接以使用默认前缀

Django 表单字段必填和可选配置

QuerySet对象在bulk_update中没有属性pk

Django中的 联合(Union) 和相交(Intersect)

如果上下文中缺少变量,如何使 Django 模板引发错误

一个简单的Django和CSS示例

Django - 如何在其管理模块中访问模型的详细名称?

如何使用 django 发送 POST 请求?

1 个 django 应用程序中约有 20 个模型

只使用 Django 的某些部分?

Django 中的自定义 HTTP 标头