Ejemplo n.º 1
0
 def update(self, request):
     re_data = request.data
     user = re_data['user']
     course = re_data['course']
     praise = models.Praise.objects.filter(user=user, course=course).first()
     if not praise:
         return APIResponse(code=0, msg='获取失败')
     else:
         praise_ser = serializer.UserPraiseSerilaizer(instance=praise, data=request.data, partial=True)
         praise_ser.is_valid(raise_exception=True)
         praise_ser.save()
         result = praise_ser.data
         praise = str(re_data['praise'])
         # print(praise)
         if praise == "True":
             p_course = models.Course.objects.filter(id=course).first()
             popular = p_course.popular + 10
             models.Course.objects.filter(id=course).update(popular=popular)
             # print("true",popular)
         else:
             p_course = models.Course.objects.filter(id=course).first()
             popular = p_course.popular - 10
             models.Course.objects.filter(id=course).update(popular=popular)
             # print("false",popular)
         return APIResponse(code=1, msg='获取成功', data=result)
Ejemplo n.º 2
0
 def code_login(self, request, *args, **kwargs):
     ser = serializer.CodeUserSerilaizer(data=request.data)
     if ser.is_valid():
         token = ser.context['token']
         username = ser.context['user'].username
         return APIResponse(token=token, username=username)
     else:
         return APIResponse(code=0, msg=ser.errors)
Ejemplo n.º 3
0
 def check_telephone(self, request, *args, **kwargs):
     import re
     telephone = request.query_params.get('telephone')
     if not re.match('^1[3-9][0-9]{9}', telephone):
         return APIResponse(code=0, msg='手机号不合法')
     try:
         models.User.objects.get(telephone=telephone)
         return APIResponse(code=1)
     except:
         return APIResponse(code=0, msg='手机号不存在')
Ejemplo n.º 4
0
 def get(self,request):
     # print("get",request.data)
     re_data = request.data
     course_id = re_data['course']
     comment_list = models.Comment.objects.filter(course=course_id).all()
     if not comment_list:
         return APIResponse(code=0,msg='获取失败')
     else:
         comment_list_ser = serializer.CommentSerializer(instance=comment_list,many=True)
         return APIResponse(code=1,msg='获取成功',data=comment_list_ser.data)
Ejemplo n.º 5
0
 def get(self, request):
     re_data = request.data
     user = re_data['user']
     course = re_data['course']
     praise = models.Praise.objects.filter(user=user, course=course).first()
     if not praise:
         return APIResponse(code=0, msg='获取失败')
     else:
         praise_ser = serializer.UserPraiseSerilaizer(instance=praise, data=request.data, partial=True)
         praise_ser.is_valid(raise_exception=True)
         result = praise_ser.data
         return APIResponse(code=1, msg='获取成功', data=result)
Ejemplo n.º 6
0
 def update(self, request):
     # print("update",request.data)
     re_data = request.data
     user = re_data['user']
     course = re_data['course']
     comment = models.Comment.objects.filter(user=user, course=course).first()
     if not comment:
         return APIResponse(code=0, msg='获取失败')
     else:
         comment_ser = serializer.CommentSerializer(instance=comment, data=request.data, partial=True)
         comment_ser.is_valid(raise_exception=True)
         comment_ser.save()
         result = comment_ser.data
         return APIResponse(code=1, msg='获取成功', data=result)
Ejemplo n.º 7
0
    def post(self, request):
        # 获取参数
        username = request.POST.get('username')
        true_password = request.POST.get('truepass')
        password = request.POST.get('password')
        re_password = request.POST.get('re_password')
        # 获得请求用户
        user = models.User.objects.get(username=username)

        if not user:
            raise ValidationError('没有该用户')
        # print(username)
        # print(password)
        ret = user.check_password(true_password)
        if not password == re_password:
            raise ValidationError('两次密码不一致')
        if not ret:
            raise ValidationError('密码错误')

        # 修改密码为新密码
        user.set_password(password)
        user.save()

        # 返回数据
        return APIResponse(code=1, msg="成功")
Ejemplo n.º 8
0
 def send(self, request, *args, **kwargs):
     '''
     发送验证码接口
     :return:
     '''
     import re
     from justapi.libs.tx_sms import get_code, send_message
     from django.core.cache import cache
     from django.conf import settings
     telephone = request.query_params.get('telephone')
     if not re.match('^1[3-9][0-9]{9}', telephone):
         return APIResponse(code=0, msg='手机号不合法')
     code = get_code()
     result = send_message(telephone, code)
     # 验证码保存(保存到哪?)
     # sms_cache_%s
     cache.set(settings.PHONE_CACHE_KEY % telephone, code, 180)
     if result:
         return APIResponse(code=1, msg='验证码发送成功')
     else:
         return APIResponse(code=0, msg='验证码发送失败')
Ejemplo n.º 9
0
    def login(self, request, *args, **kwargs):
        ser = serializer.UserSerilaizer(data=request.data)  # 将前端传回的数据序列化
        if ser.is_valid():
            token = ser.context['token']
            # ser.context['user'] 是user对象
            username = ser.context['user'].username
            queryset = models.User.objects.filter(username=username).first()
            serializer_class = serializer.UserSerilaizer(queryset)
            # user_ser = serializer.UserSerilaizer(queryset)
            # print(user_ser.data)
            # icon = ser.context['user'].icon
            # user = ser.context['user']
            # print('user',user.icon)

            # {'code':1
            #  msg:'chengg'
            #  token:'sdfasdf'
            #  username:'******'
            #  }
            return APIResponse(token=token, username=username, icon=serializer_class.data['icon'],
                               id=serializer_class.data['id'])
        else:
            return APIResponse(code=0, msg=ser.errors)
Ejemplo n.º 10
0
 def patch(self, request, pk):
     return APIResponse(self.update(request, pk))
Ejemplo n.º 11
0
 def get(self, request, pk):
     return APIResponse(self.retrieve(request, pk))
Ejemplo n.º 12
0
 def create(self, request, *args, **kwargs):
     response = super().create(request, *args, **kwargs)
     username = response.data.get('username')
     return APIResponse(code=1, msg='注册成功', username=username)