我通过接口创建用户之后,数据库中的密码还是明文的,用户也登录不上,是信号量没有起作用吗,为什么呢?
来源:7-13 django信号量实现用户密码修改
fbb123456
2017-10-13
通过信号量修改密码不成功
写回答
5回答
-
shfscut
2017-11-20
你好!遇到了同样的问题,你解决了吗?
10 -
jager_he
2019-08-05
settings INSTALLED_APPS = ['user']
修改成
settings INSTALLED_APPS = ['user.apps.UserConfig']
这样才会加载 def ready(self): 函数 信号量才会生效
00 -
fbb123456
提问者
2017-10-16
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() @receiver(post_save, sender=User) def create_user(sender, instance=None, created=False, **kwargs): if created: password = instance.password instance.set_password(password) instance.save()
00 -
fbb123456
提问者
2017-10-16
class UserViewset(mixins.CreateModelMixin,mixins.RetrieveModelMixin,mixins.UpdateModelMixin,viewsets.GenericViewSet): ''' 用户注册 ''' queryset = User.objects.all() authentication_classes = (authentication.SessionAuthentication,JSONWebTokenAuthentication) def get_permissions(self): if self.action == "retrieve": return [permissions.IsAuthenticated()] else: return [] def get_serializer_class(self): if self.action == "create": return UserRegSerializer else: return UserDetailSerializer def create(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) user = self.perform_create(serializer) re_dict = serializer.data payload = jwt_payload_handler(user) re_dict["token"] = jwt_encode_handler(payload) re_dict["name"] = user.name if user.name else user.username headers = self.get_success_headers(serializer.data) return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers) def get_object(self): return self.request.user def perform_create(self, serializer): return serializer.save()
00 -
慕斯卡0204711
2017-10-13
AppConfig中没有加载singal?
052017-10-17
Python前后端分离开发Vue+Django REST framework实战
Django REST framework课程视频,RESTFul API前后端分离开发
2906 学习 · 2491 问题
相似问题