44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
|
|
# coding=utf-8
|
|||
|
|
"""
|
|||
|
|
@project: qabot
|
|||
|
|
@Author:虎
|
|||
|
|
@file: users.py
|
|||
|
|
@date:2023/9/4 10:09
|
|||
|
|
@desc:
|
|||
|
|
"""
|
|||
|
|
import hashlib
|
|||
|
|
|
|||
|
|
from django.db import models
|
|||
|
|
|
|||
|
|
__all__ = ["User", "password_encrypt"]
|
|||
|
|
|
|||
|
|
|
|||
|
|
def password_encrypt(raw_password):
|
|||
|
|
"""
|
|||
|
|
密码 md5加密
|
|||
|
|
:param raw_password: 密码
|
|||
|
|
:return: 加密后密码
|
|||
|
|
"""
|
|||
|
|
md5 = hashlib.md5() # 2,实例化md5() 方法
|
|||
|
|
md5.update(raw_password.encode()) # 3,对字符串的字节类型加密
|
|||
|
|
result = md5.hexdigest() # 4,加密
|
|||
|
|
return result
|
|||
|
|
|
|||
|
|
|
|||
|
|
class User(models.Model):
|
|||
|
|
email = models.EmailField(unique=True, verbose_name="邮箱")
|
|||
|
|
username = models.CharField(max_length=150, unique=True, verbose_name="用户名")
|
|||
|
|
password = models.CharField(max_length=150, verbose_name="密码")
|
|||
|
|
role = models.CharField(max_length=150, verbose_name="角色")
|
|||
|
|
is_active = models.BooleanField(default=True)
|
|||
|
|
|
|||
|
|
USERNAME_FIELD = 'username'
|
|||
|
|
REQUIRED_FIELDS = []
|
|||
|
|
|
|||
|
|
class Meta:
|
|||
|
|
db_table = "user"
|
|||
|
|
|
|||
|
|
def set_password(self, raw_password):
|
|||
|
|
self.password = password_encrypt(raw_password)
|
|||
|
|
self._password = raw_password
|