如何向Django的“用户添加”管理页面添加其他必填字段?

时间:2010-12-10 19:06:34

标签: django django-admin

在我的Django应用程序中添加新用户时,我想确保管理页面要求管理员包含“email”字段。

我已经尝试过修改UserAdminForm对象,但到目前为止我已经空了。有什么提示吗?

1 个答案:

答案 0 :(得分:1)

您需要在项目的admin.py文件中添加以下内容:

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
from django.contrib.auth.models import Group, User


# Override username field require email address
class UserCreationForm2(UserCreationForm):
    email = forms.CharField(max_length=75, required=True)

class UserChangeForm2(UserChangeForm):
    email = forms.CharField(max_length=75, required=True)

class UserAdmin2(UserAdmin):
    form = UserChangeForm2
    add_form = UserCreationForm2

admin.site.unregister(User)
admin.site.register(User, UserAdmin2)

基本上,要求使用电子邮件字段,取消注册内置管理员,并使用覆盖注册新管理员。