在我的Django应用程序中添加新用户时,我想确保管理页面要求管理员包含“email”字段。
我已经尝试过修改UserAdminForm对象,但到目前为止我已经空了。有什么提示吗?
答案 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)
基本上,要求使用电子邮件字段,取消注册内置管理员,并使用覆盖注册新管理员。