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