前端分离密码加密
方法一:在Serializer类中重写create方法
# 注册时密码加密
def create(self, validated_data):
user = super(UserRegSerializer, self).create(validated_data=validated_data) user.set_password(validated_data['password']) user.save() return user
方法二:利用django的信号量机制(采用django内置的用户模型拓展)
在用户app下面 新建一个signals.py文件
from django.db.models.signals import post_save from django.dispatch import receiver from rest_framework.authtoken.models import Token from django.contrib.auth import get_user_model User = get_user_model() # 指定User模型 @receiver(post_save, sender=User) def create_auth_token(sender, instance=None, created=False, **kwargs): if created: password = instance.password instance.set_password(password) # 密码加密方法 instance.save() # Token.objects.create(user=instance) 已采用JWT方式
然后在用户app下的apps.py文件里加入
这样就设置完毕,可以打断点测试是否进入信号量文件里面