【发布时间】:2017-08-16 17:49:54
【问题描述】:
当我尝试在 django admin 中更改用户字段并保存它时,散列密码最终成为真正的密码。
因此,如果密码像这样 pbkdf2adhfkhadqeqerqfavghhfyb 进行散列,并且我更改了用户模型中的另一个字段,则此散列密码将成为我的未散列密码。
我的代码是这样的。
class UserCreationForm(forms.ModelForm):
class Meta:
model = User
fields = ('Email','name','password','is_staff','is_superuser','Teacher',
'Student', 'Data_Joined', 'Is_active')
def save(self, commit=True):
user = super(UserCreationForm, self).save(commit=False)
user.set_password(self.cleaned_data["password"])
if commit:
user.save()
return user
class UserAdmin(admin.ModelAdmin):
form = UserCreationForm
admin.site.register(User, UserAdmin)
【问题讨论】:
-
我不明白这个问题。您是说数据库中有密码哈希,当您使用管理页面编辑记录时,密码会以某种方式恢复?这听起来不可能。
-
是的,这正是发生的事情,但我刚刚解决了这个问题。
标签: python django django-forms django-admin