【发布时间】:2018-02-01 17:02:13
【问题描述】:
我已经成功地通过覆盖save() 函数来散列我的自定义用户模型的密码,如下所示:
def save(self, commit = True):
user = super(RegisterForm, self).save(commit = False)
user.set_password(self.cleaned_data["password1"])
if commit:
user.save()
return user
但是我已经在我的注册表单定义中放置了这个覆盖,我突然想到我也可以在 User 模型定义中或在我的 register() 视图中执行此操作。
是否有“正确”的位置来覆盖这些函数,例如 clean() 或 save()?有什么实际区别吗?
ps:我对使用 Django 的默认密码更改和注册视图或表单不感兴趣。
【问题讨论】:
标签: django django-models django-forms django-views