簡體   English   中英

在使用admin創建用戶時向django添加所需的電子郵件字段

[英]adding required email field to django when creating users with admin

使用Django admin創建/添加用戶時; 這怎么可以定制?

例如,目前提示輸入用戶名和密碼。 但是,我想自定義它還有其他必填字段,例如'email'?

關於admin用戶身份驗證的django教程不清楚?

將它放在models.py中。

from django.contrib.auth.models import User
User._meta.get_field('email').blank = False

然后運行makemigrations。 然后運行遷移。

完成!

請參閱文檔

編輯:感謝upvote家伙!

在創建用戶時向表單添加電子郵件的示例。 在項目admin.py中添加了以下內容:

從django import forms enter code here

from django.contrib import admin
from django.contrib.auth import admin as upstream
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
from django.contrib.auth.models import Group, User
from django.utils.translation import ugettext, ugettext_lazy as _


class UserAdmin(upstream.UserAdmin):
    fieldsets = (
        (None, {'fields': ('username', 'password','email')}),
        (_('Personal info'), {'fields': ('first_name', 'last_name')}),
        (_('Permissions'), {'fields': ('is_active', 'is_staff', 'is_superuser',
                                       'groups', 'user_permissions')}),
        (_('Important dates'), {'fields': ('last_login', 'date_joined')}),
    )
    add_fieldsets = (
        (None, {
            'classes': ('wide',),
            'fields': ('username', 'password1', 'password2', 'email')}
        ),
    )
    form = UserChangeForm
    add_form = UserCreationForm

try:
    admin.site.unregister(User)
except NotRegistered:
    pass

admin.site.register(User, UserAdmin)

這是您可以自定義用戶管理員的方法:

from django.contrib import admin
from django.contrib.auth import admin as upstream

# custom admin class for the User model, subclassing Django's one
class UserAdmin(upstream.UserAdmin):
    add_form_template = ...
    add_form = ...
    add_fieldsets = ...

# unregister any existing admin for the User model and register mine
try:
    admin.site.unregister(User)
except NotRegistered:
    pass
admin.site.register(User, UserAdmin)

我離開的部分...是你需要做的改變admin提示用戶創建的方式自定義設置。

django/contrib/auth/admin.py查找原始代碼並修改以品嘗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM