예제 #1
0
def login_view(request):
    """
    表单验证-用户验证-is_active验证-remember
    :param request:
    :return: restful api:json:{"code": 200, "message": "", "data": {}}
    """
    form = LoginForm(request.POST)
    if form.is_valid():
        telephone = form.cleaned_data.get('telephone')
        password = form.cleaned_data.get('password')
        remember = form.cleaned_data.get('remember')
        user = authenticate(telephone=telephone, password=password)  # user验证
        if user:
            login(request, user)  # user登陆
            if remember:
                request.session.set_expiry(None)  # default 2周
                return restful.ok(data='缓存时间为2周')
            else:
                request.session.set_expiry(0)  # 设置存留时间为0,退出就清除
                return restful.ok(data='不保留缓存')

        else:
            return restful.un_auth(message='用户不存在,请确认好重新输入!')
    else:
        errors = form.get_errors()
        return restful.params_error(message=errors)
예제 #2
0
    def post(self, request):
        form = WriteScenesForms(request.POST)
        if form.is_valid():
            title = form.cleaned_data.get('title')
            ranking = form.cleaned_data.get('ranking')
            prices = form.cleaned_data.get('prices')
            grade = form.cleaned_data.get('grade')
            scene_info = form.cleaned_data.get('scene_info')
            danger_info = form.cleaned_data.get('danger_info')
            thumbnail = form.cleaned_data.get('thumbnail')
            bigimage = form.cleaned_data.get('bigimage')
            moreimage = form.cleaned_data.get('moreimage')
            scene_video = form.cleaned_data.get('scene_video')

            Scenes.objects.create(title=title,
                                  ranking=ranking,
                                  prices=prices,
                                  grade=grade,
                                  scene_info=scene_info,
                                  danger_info=danger_info,
                                  thumbnail=thumbnail,
                                  bigimage=bigimage,
                                  moreimage=moreimage,
                                  scene_video=scene_video,
                                  author=request.user)
            return restful.ok()
        else:
            print("fail")
            return restful.params_error(message=form.get_errors())
예제 #3
0
 def post(self, request, *args, **kwargs):
     data = QueryDict(request.body).dict()
     password = data.get('password')
     cry_password = prpcrypt.encrypt(password)
     data['password'] = cry_password
     self.model.objects.create(**data)
     return restful.ok()
예제 #4
0
    def post(self, request):
        form = EditGoodsForms(request.POST)
        if form.is_valid():
            title = form.cleaned_data.get('title')
            sales = form.cleaned_data.get('sales')
            prices = form.cleaned_data.get('prices')
            goods_info = form.cleaned_data.get('goods_info')
            feature_info = form.cleaned_data.get('feature_info')
            schedule_goods = form.cleaned_data.get('schedule_goods')
            attention_goods = form.cleaned_data.get('attention_goods')
            thumbnail = form.cleaned_data.get('thumbnail')
            goods_video = form.cleaned_data.get('goods_video')
            pk = form.cleaned_data.get('pk')

            Goods.objects.filter(pk=pk).update(title=title,
                                               sales=sales,
                                               prices=prices,
                                               goods_info=goods_info,
                                               feature_info=feature_info,
                                               schedule_goods=schedule_goods,
                                               attention_goods=attention_goods,
                                               thumbnail=thumbnail,
                                               goods_video=goods_video,
                                               author=request.user)
            return restful.ok()
        else:
            print("fail")
            return restful.params_error(message=form.get_errors())
예제 #5
0
def deal_order(request):
    order_id = request.POST.get("order_id")
    order = GoodsOrder.objects.get(pk=order_id)
    status = 3
    if order.status == 4:
        GoodsOrder.objects.filter(pk=order_id).update(isdeal=0, status=status)
    GoodsOrder.objects.filter(pk=order_id).update(isdeal=0)
    return restful.ok()
예제 #6
0
    def get(self, request):
        email = request.GET.get('email')

        if UserProfile.objects.filter(email=email).first():
            return restful.params_error(message='邮箱已经存在!')

        send_regist_email(email, 6, 'update_email')
        return restful.ok()
예제 #7
0
 def post(self, request):
     user_info_form = UserInfoForm(request.POST, instance=request.user)
     print(user_info_form)
     if user_info_form.is_valid():
         user_info_form.save()
         return restful.ok()
     else:
         return restful.paramserror(message="参数错误")
예제 #8
0
 def put(self, request, *args, **kwargs):
     pk = kwargs.get('pk')
     data = QueryDict(request.body).dict()
     password = data.get('password')
     obj = self.model.objects.get(pk=pk)
     if obj.password != password:
         data['password'] = prpcrypt.encrypt(password)
     self.model.objects.filter(pk=pk).update(**data)
     return restful.ok()
예제 #9
0
파일: views.py 프로젝트: Dinghwxiansen/uibe
 def delete(self, request, *args, **kwargs):
     try:
         self.destroy(request, *args, **kwargs)
         return restful.ok()
     except Exception as e:
         ip_username(request)
         return restful.result2(message="操作失败",
                                kwargs=logger.error(e.args),
                                data=e.args)
예제 #10
0
 def post(self, request):
     # 上传的文件都在request.FILES里面获取,所以这里要多传一个这个参数
     image_form = UploadImageForm(request.POST, request.FILES)
     if image_form.is_valid():
         image = image_form.cleaned_data['image']
         request.user.image = image
         request.user.save()
         return restful.ok()
     else:
         return restful.paramserror(message="参数错误")
예제 #11
0
    def post(self, request):
        email = request.POST.get('email')

        # user = UserProfile.objects.filter(email=email).first()
        # user.email = email
        # user.save()
        user = request.user
        user.email = email
        user.save()
        return restful.ok()
예제 #12
0
 def post(self, request):
     # 实例form 时,传入instance参数,可绑定对象
     # 此列中绑定了request.user 对象
     form = UpdateUserInfoForm(request.POST, instance=request.user)
     if form.is_valid():
         form.save()
         return restful.ok()
     else:
         print(form.get_error())
         return restful.params_error(message=form.get_error())
예제 #13
0
 def post(self, request):
     form = UploadAvatarForm(request.POST, request.FILES)
     if form.is_valid():
         avatar = form.cleaned_data.get('avatar_img')
         print(avatar)
         request.user.avatar_img = avatar
         request.user.save()
         return restful.ok()
     else:
         print(form.get_error())
         return restful.params_error(message=form.get_error())
예제 #14
0
    def post(self, request):
        form = PublicCommentForm(request.POST)
        if form.is_valid():
            content = form.cleaned_data.get('content')
            content = re.sub(r'(<|&lt;)script.*script(>|&gt;)?', '', content)

            Comment.objects.create(content=content, author=request.user)
            return restful.ok()
        else:
            print("fail")
            return restful.params_error(message=form.get_errors())
예제 #15
0
파일: views.py 프로젝트: whitewhite944/Duku
 def post(self, request, *args, **kwargs):
     data = QueryDict(request.body).dict()
     password = data.get('password')
     group_name = data.pop('group_name')
     user = self.model.objects.create(**data)
     user.set_password(password)
     user.save()
     group_qs = Group.objects.filter(name=group_name)
     if group_qs:
         user.groups.add(group_qs[0])
     return restful.ok()
예제 #16
0
def regist(request):
    if request.method == "POST":
        form = SignupForm(request.POST)
        if form.is_valid():
            name = form.cleaned_data.get('regname')
            pwd1 = form.cleaned_data.get('regpass')
            # pwd2 = form.cleaned_data.get('pwd2')
            user = UserProfile.objects.create_user(username=name,
                                                   password=pwd1)
            login(request, user)
            return restful.ok()
        else:
            return restful.paramserror(form.get_error())
예제 #17
0
파일: views.py 프로젝트: Dinghwxiansen/uibe
    def delete(self, request, *args, id):
        try:
            self.destroy(request, *args, id)
            print(id)
            print(Menu.objects.filter(parent_id=id))
            Menu.objects.filter(parent_id=id).delete()

            return restful.ok()
        except Exception as e:
            ip_username(request)
            return restful.result2(message="操作失败",
                                   kwargs=logger.error(e.args),
                                   data=e.args)
예제 #18
0
 def post(self, request):
     # 成绩统计
     score_form = Student.objects.annotate(
         chinese=Sum('score__number', filter=Q(score__course__name='语文')),
         math=Sum('score__number', filter=Q(score__course__name='数学')),
         english=Sum('score__number', filter=Q(score__course__name='英语')),
         sum=Sum('score__number'),
     ).values("id", "name", "class_name", "chinese", "math", "english",
              "sum")
     a = Student.objects.get(pk=1)
     b = Student.objects.filter(pk=1)
     print(type(a), type(b))
     print(a.__dict__)
     return restful.ok(data=list(score_form))
예제 #19
0
def edit_banner(request):
    form = EditBannerForm(request.POST)
    if form.is_valid():
        pk = form.cleaned_data.get('pk')
        image_url = form.cleaned_data.get('image_url')
        priority = form.cleaned_data.get('priority')
        link_to = form.cleaned_data.get('link_to')

        Banner.objects.filter(pk=pk).update(priority=priority,
                                            image_url=image_url,
                                            link_to=link_to)
        return restful.ok()
    else:
        return restful.params_error(message=form.get_errors())
예제 #20
0
파일: views.py 프로젝트: Dinghwxiansen/uibe
 def put(self, request, *args, **kwargs):
     # print(request.data)
     try:
         # self.partial_update(request, *args, **kwargs)
         ret = Role.objects.filter(id=request.data['id']).first()
         ser = RoleSerializer(instance=ret, data=request.data, partial=True)
         if ser.is_valid():
             ser.save()
         return restful.ok()
     except Exception as e:
         ip_username(request)
         return restful.result2(message="操作失败",
                                kwargs=logger.error(e.args),
                                data=e.args)
예제 #21
0
파일: views.py 프로젝트: Dinghwxiansen/uibe
    def put(self, request):

        try:
            ret = Menu.objects.get(pk=request.data['id'])
            # partial=True 标识局部跟新
            ser = MenuSerializer(instance=ret, data=request.data, partial=True)
            if ser.is_valid():
                ser.save()
            return restful.ok()
        except Exception as e:
            ip_username(request)
            return restful.result2(message="操作失败",
                                   kwargs=logger.error(e.args),
                                   data=e.args)
예제 #22
0
    def post(self, request):
        pwd1 = request.POST.get('pwd1')
        print(pwd1)
        if pwd1:
            user = request.user
            print(user)
            if user:
                user.set_password(pwd1)
                user.save()
                return restful.ok()
            else:
                return restful.params_error(message='请输入新密码!')

        else:
            return restful.params_error(message='请输入新密码!')
예제 #23
0
    def post(self, request):
        # form = LoginForm(request.POST)
        # if form.is_valid():
        #     username = form.cleaned_data.get('username')
        #     password = form.cleaned_data.get('password')
        #     print("username:"******"password:"******"user")
        #             return restful.params_error('该用户暂未激活,请前往注册邮箱激活')
        #     else:
        #         return restful.params_error('用户名或密码错误')
        # else:
        #     print(form.errors)
        #     return render(request, 'auth/login.html', {'login_form':form})
        username = request.POST.get('username')
        password = request.POST.get('password')
        # 获取极验,滑动验证码相关参数
        gt = GeetestLib(pc_geetest_id, pc_geetest_key)
        challenge = request.POST.get(gt.FN_CHALLENGE, '')
        validate = request.POST.get(gt.FN_VALIDATE, '')
        seccode = request.POST.get(gt.FN_SECCODE, '')
        status = request.session[gt.GT_STATUS_SESSION_KEY]
        user_id = request.session['user_id']

        if status:
            result = gt.success_validate(challenge, validate, seccode, user_id)
            # print('success result:',result)
        else:
            result = gt.failback_validate(challenge, validate, seccode)
            # print('fail result:',result)

        if result == 1:
            # 验证码正确
            # 利用authenticate()做用户名和密码的校验
            user = authenticate(request, username=username, password=password)
            if user:
                login(request, user)
                return restful.ok()
            else:
                return restful.params_error(message='用户名或密码错误')
        else:
            return restful.noauth(message='请点击验证码进行验证!')
예제 #24
0
def register_view(request):
    form = RegisterForm(request.POST)
    if form.is_valid():
        telephone = form.cleaned_data.get('telephone')
        username = form.cleaned_data.get('username')
        email = form.cleaned_data.get('email')
        password = form.cleaned_data.get('password')
        User.objects.create_user(telephone=telephone,
                                 username=username,
                                 email=email,
                                 password=password)
        return restful.ok(data='注册成功!')
    else:
        errors = form.get_errors()
        # return redirect(reverse('bank:register'))
        return restful.params_error(message=errors)
예제 #25
0
파일: views.py 프로젝트: whitewhite944/Duku
 def put(self, request, *args, **kwargs):
     pk = kwargs.get('pk')
     data = QueryDict(request.body).dict()
     password = data.pop('password')
     group_name = data.pop('group_name')
     user_qs = self.model.objects.filter(pk=pk)
     user_qs.update(**data)
     user = user_qs[0]
     old_password = user.password
     if password != old_password:
         user.set_password(password)
         user.save()
     group_qs = Group.objects.filter(name=group_name)
     if group_qs:
         user.groups.set([group_qs[0]])
     return restful.ok()
예제 #26
0
파일: views.py 프로젝트: whitewhite944/Duku
 def post(self, request, *args, **kwargs):
     register_form = RegisterForm(request.POST)
     if register_form.is_valid():
         username = register_form.cleaned_data.get('username')
         email = register_form.cleaned_data.get('email')
         password1 = register_form.cleaned_data.get('password1')
         password2 = register_form.cleaned_data.get('password2')
         user = User()
         user.username = username
         user.email = email
         user.is_staff = True
         user.password = make_password(password2)
         user.save()
         return restful.ok()
     else:
         return restful.params_error(message=register_form.get_errors())
예제 #27
0
    def post(self, request):
        modify_form = ModifyPwdForm(request.POST)
        if modify_form.is_valid():
            pwd1 = request.POST.get("password1", "")
            pwd2 = request.POST.get("password2", "")
            email = request.POST.get("email", "")
            if pwd1 != pwd2:
                return restful.paramserror(message="两次密码不一致")
            user = UserProfile.objects.get(email=email)
            user.password = make_password(pwd2)
            user.save()

            return restful.ok()
        else:
            email = request.POST.get("email", "")
            return restful.paramserror(message="密码不正确!")
예제 #28
0
파일: views.py 프로젝트: whitewhite944/Duku
 def post(self, request, *args, **kwargs):
     login_form = LoginForm(request.POST)
     if login_form.is_valid():
         username = login_form.cleaned_data.get('username')
         password = login_form.cleaned_data.get('password')
         remember = login_form.cleaned_data.get('remember')
         user = authenticate(username=username, password=password)
         if user:
             if user.is_active:
                 login(request, user)
                 if remember:
                     request.session.set_expiry(0)
                 return restful.ok()
             else:
                 return restful.unauth(message="您的账户已被冻结!")
         else:
             return restful.params_error(message="用户名或密码错误")
     else:
         return restful.params_error(message=login_form.get_errors())
예제 #29
0
def del_staffs_view(request):
    staff_id = request.POST.get('staff_id')
    User.objects.filter(pk=staff_id).update(is_staff=False)
    return restful.ok()
예제 #30
0
def pay_order(request):
    istype = request.POST.get("istype")
    order_pk = request.POST.get("order_pk")

    GoodsOrder.objects.filter(pk=order_pk).update(istype=int(istype), status=2)
    return restful.ok()