我是新來的Django,那麼請與我裸露,如果我寫的東西愚蠢:Django的註冊用戶在管理網站與生成的密碼
問題:
我想用Django管理站點用戶模型註冊新用戶。默認選項可讓您註冊帶有密碼和密碼確認的新用戶名,這是必填字段。
我的想法是做出一些改變。我想保留用戶名字段並添加電子郵件字段,但刪除密碼和密碼確認。主要想法是,我會註冊一個用戶,他會收到一封帶有生成密碼的電子郵件。然後,他可以使用生成的密碼登錄並更改密碼。
我面臨着巨大的問題,模板,錯誤,最重要的是壓倒一切的類。
我花了很多很多時間檢查Django文檔,GOOLGE,我可以這樣做迄今爲止最好的是:
admin.py
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','email')}
),
)
form = UserChangeForm
add_form = UserCreationForm
try:
admin.site.unregister(User)
except NotRegistered:
pass
admin.site.register(User, UserAdmin)
這是我計算器上發現了一個碼。在add_fieldsets中,我刪除了password1和password2。如果我去管理頁面,一切看起來都很棒,但我無法註冊用戶。
我認爲這是因爲UserCreationForm
,堅守創建一個密碼,但也許我可能是錯的。任何人都可以請讓我知道如何覆蓋UsercreationForm
,所以密碼不再是強制性的,並且在網站上不會看到來自UserCreationForm
的錯誤。
我真的真的真的appreicate你的幫助。
好耶,作爲初學者,你沒有得到成才錯誤的。你不應該使用這個管理應用程序。 https://docs.djangoproject.com/en/1.11/topics/auth/ – e4c5
我創建了我自己的模型,在用戶級聯刪除。您輸入了用戶名和電子郵件,並將這些數據保存到USER。 Howerver,問題是,如果我對my_own模型進行了更改,這不會影響USER模型。 –
再次,我不明白爲什麼你需要添加一個刪除級聯用戶模型。通常這是大多數其他模型的參考(即與您所編碼的相反) – e4c5