1
我使用Django管理界面能夠輕鬆修改我擁有的現有MySQL數據庫中的條目。我的一個表中包含一個密碼列,其中包含用戶的哈希密碼。現在,當我使用管理面板創建新用戶時,必須從外部計算密碼哈希值,然後將其粘貼到管理面板中。無論如何,我可以提供某種「預插入鉤子」,以便我可以直接輸入密碼,鉤子計算出散列並將其傳遞給管理面板以進行保存?在使用管理面板插入模型字段之前預處理模型字段
我使用Django管理界面能夠輕鬆修改我擁有的現有MySQL數據庫中的條目。我的一個表中包含一個密碼列,其中包含用戶的哈希密碼。現在,當我使用管理面板創建新用戶時,必須從外部計算密碼哈希值,然後將其粘貼到管理面板中。無論如何,我可以提供某種「預插入鉤子」,以便我可以直接輸入密碼,鉤子計算出散列並將其傳遞給管理面板以進行保存?在使用管理面板插入模型字段之前預處理模型字段
您可以override the admin form,使用像AdminPasswordChangeForm其確認新密碼匹配形式,然後在其save
方法設置相應的密碼:
def save(self, commit=True):
password = self.cleaned_data["password1"]
self.user.set_password(password)
if commit:
self.user.save()
return self.user
您也可以覆蓋保存方法上的用戶,但這更像是一種大錘的方法。