如何将特定的Django模型字段保存为加密的数据库?

时间:2018-08-13 05:18:45

标签: django python-3.x

我在Django模型中有一个用户模型,密码是users表中的字段之一。保存用户时,密码应以加密方式保存到数据库。 我正在使用Django Rest Framework发布用户,并且我不想使用身份验证。

1 个答案:

答案 0 :(得分:1)

Django提供了内置的用户身份验证。链接到官方文档:https://docs.djangoproject.com/en/dev/topics/auth/

要回答您的问题,请考虑您不想/不能使用内置身份验证。您可以使用make_password函数对密码字段进行加密。 Django Auth使用相同的密码来加密和验证用户。

在保存模型之前,将加密的密码设置为field。最好在模型类本身中。

from django.contrib.auth.hashers import make_password
model.password = make_password(plaintext_password)
model.save()