Sah*_*kar 3 python encryption passwords django
我有一个名字,代码和密码的模型.我需要加密密码.另外,我不应该在密码字段中显示纯文本.我提到了这个链接
但答案是陈旧的,需要知道目前的方法是什么.
我的模型如下
class Crew(models.Model):
crew_id = models.AutoField(primary_key=True)
crew_code = models.CharField(max_length=200, null=False, unique=True)
crew_name = models.CharField(max_length=200, null=False)
crew_password = models.CharField(max_length=200, null=False)
Run Code Online (Sandbox Code Playgroud)
在你看来
from django.contrib.auth.hashers import make_password
crew_password = 'take the input if you are using form'
form = FormName(commit=False)
form.crew_password=make_password(crew_password)
form.save()
Run Code Online (Sandbox Code Playgroud)
小智 6
将其添加到您的模型中:
def save(self, *args, **kwargs):
self.crew_password = make_password(self.crew_password)
super(Crew, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
并在表单中隐藏密码字段中的文本:
password = forms.CharField(
widget=forms.PasswordInput
)
Run Code Online (Sandbox Code Playgroud)