Django 自定義user model密碼加密


在對應的models.py中的User類中添加save方法

1 from django.contrib.auth.hashers import make_password, check_password
 1 class User(models.Model):
 2     '''
 3     用戶
 4'''
 5     def __str__(self):
 6         return self.name
 7     class Meta:
 8         verbose_name = '用戶信息'
 9         verbose_name_plural = '用戶信息'
10     ACTIVES = (('active','活躍'),('non_active','非活躍'))
11     username = models.CharField('用戶名',max_length=12, primary_key=True)
12     password = models.CharField('密碼',max_length=10)
13     usergroup = models.ForeignKey('UserGroup',verbose_name="用戶組",on_delete=models.PROTECT,blank=True,null=True)
14     is_active = models.CharField('是否活躍',max_length=32,default="active",choices=ACTIVES)
15 
16     def save(self, *args, **kwargs):
17         self.password = make_password(self.password, None, 'pbkdf2_sha256')
18         super(User, self).save(*args, ** kwargs)

在對應的views.py中用戶登錄校驗密碼時

1 from django.contrib.auth.hashers import check_password
1 name = request.GET.get("name","")
2 pwd = request.GET.get("password","")
3 user = User.objects.get(username=name)
4 if check_password(pwd, user.password):
5     print("密碼正確!")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM