我從django.contrib.auth.models.User
繼承創建了自定義用戶模型,並將其添加到我的管理員。當我從MyUser
管理員創建一個實例,我有兩個(相關)的問題:使用自定義用戶登錄時出現「未知密碼散列算法」
在管理1,普通密碼(未uncrypted)顯示在password
領域
2 - 當我嘗試在我的管理員登錄一個實例MyUser
,我得到
Unknown password hashing algorithm '<mypassword>'. Did you specify it in the PASSWORD_HASHERS setting
它是一個錯誤?我該如何解決這個問題? (我使用Django 1.4.2)
models.py
from django.contrib.auth.models import User
class MyUser(User):
number = models.IntegerField()
admin.py
class MyUserAdmin(admin.ModelAdmin):
pass
admin.site.register(MyUser, MyUserAdmin)
編輯
用下面的密碼設置正確,但是當我想修改一些MyUser
時從管理員,密碼清除,我必須重新設置它:
class MyUserAdminForm(forms.ModelForm):
class Meta:
model = MyUser
def __init__(self, *args, **kwargs):
super(MyUserAdminForm, self).__init__(*args, **kwargs)
self.fields['password'].widget = forms.PasswordInput()
def save(self, commit=True):
user = super(MyUserAdminForm, self).save(commit=False)
user.set_password(self.cleaned_data["password"])
if commit:
user.save()
return user
class MyUserAdmin(admin.ModelAdmin):
form = MyUserAdminForm
admin.site.register(MyUser, MyUserAdmin)
你是如何創建一個新用戶的?你能告訴我們代碼 – TheLifeOfSteve
沒有代碼:我從'MyUser'管理員添加實例,位於'/admin//myuser/add /' –
jul