【问题标题】:Django fields not being removed from forms没有从表单中删除 Django 字段
【发布时间】:2012-12-20 00:06:38
【问题描述】:

我有一个定义如下的表单:

from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm as DjangoUserCreationForm

class UserEmailForm(DjangoUserCreationForm):
    email = forms.EmailField(required=True)

    class Meta:
        model = User
        fields = ("email",)

    def save(self, commit=True):
        user = super(UserEmailForm, self).save(commit=False)
        user.email = self.cleaned_data["email"]
        if commit:
            user.save()
        return user

但是当我尝试显示表单时,它显示了四个字段,用户名、电子邮件、密码1、密码2

【问题讨论】:

    标签: django forms field


    【解决方案1】:

    这些字段是在 UserCreationForm 表单中定义的,Meta#fields 不会影响它们

    【讨论】:

    • 我应该在子类中重新定义它们吗?
    • 也许您不需要 UserCreationForm 因为您想摆脱这些字段。 ModelForm 还不够吗?你可以排除任何你想要的东西
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    • 2013-06-22
    • 2015-08-03
    • 1970-01-01
    • 1970-01-01
    • 2012-04-05
    相关资源
    最近更新 更多