예제 #1
0
파일: views.py 프로젝트: liuhuanxg/FSHOP
 def post(self, request):
     data = request.POST
     user_name = data.get('user_name')
     password = data.get('password')
     email = data.get('email')
     pwd = set_password(set_password(set_password(password)))
     u = User()
     u.user_name = user_name
     u.password = pwd
     u.email = email
     u.save()
     return redirect('user:login')
예제 #2
0
파일: views.py 프로젝트: liuhuanxg/FSHOP
def forget_password(request):
    message = ''
    if request.method == "POST":
        data = request.POST
        email = data.get('email')
        password = data.get('password')
        code = data.get('code')
        if code and email == request.session.get(
                'email') and code.lower() == request.session.get('code'):
            md5_pwd = set_password(set_password(password))
            m = Manager.objects.filter(email=email).update(password=md5_pwd)
            del request.session['email']
            del request.session['code']
            return HttpResponseRedirect('/manager/login')
        message = "验证码或者邮箱有误!"
    return render(request, 'common/forget_password.html', {'message': message})
예제 #3
0
파일: views.py 프로젝트: liuhuanxg/FSHOP
 def post(self, request):
     data = request.POST
     user_name = data.get('user_name')
     passwrod = data.get('password')
     pwd = set_password(set_password(set_password(passwrod)))
     u = User.objects.filter(user_name=user_name, password=pwd)
     if u.exists():
         request.session['user_name'] = user_name
         request.session['user_id'] = u[0].id
         next = data.get('next')
         if next:
             response = HttpResponseRedirect(next)
         else:
             response = HttpResponseRedirect('/goods/index')
         response.set_cookie('user_name', user_name)
         return response
     else:
         self.message = "用户名或密码有误!"
         return self.get(request)
예제 #4
0
파일: views.py 프로젝트: liuhuanxg/FSHOP
def manager_message(request):
    manager_id = request.session.get('id')
    message = ""
    if request.method == "POST":
        o_pwd = request.POST.get('original_password')
        c_pwd = request.POST.get('current_password')
        o_md5 = set_password(set_password(o_pwd))
        m = Manager.objects.filter(id=manager_id, password=o_md5)
        if m.exists():
            c_md5 = set_password(set_password(c_pwd))
            # m.update(password=c_md5)
            c = m[0]
            c.password = c_md5
            c.save()
            return redirect('manager:login')
        message = "密码修改失败,原密码输入有误!"
    manager = Manager.objects.filter(id=manager_id)
    return render(request, 'common/manager_message.html', {
        'manager': manager[0],
        'message': message
    })
예제 #5
0
def register(request):
    error = ""
    if request.method == "POST":
        data = request.POST
        name = data.get('name')
        email = data.get('email')
        password = data.get('password')
        repeat_password = data.get('repeat_password')
        print(name, email, password, repeat_password)
        if password != repeat_password:
            error = "两次密码不一致"
            return render(request, 'common/register.html', {'error': error})
        md5_pwd = set_password(set_password(password))
        m = Manager.objects.filter(manager_name=name)
        if not m.exists():
            m = Manager.objects.create(manager_name=name,
                                       email=email,
                                       password=md5_pwd)
            print(m, type(m))
            return HttpResponseRedirect('/manager/login')
        error = "用户名重复"
    return render(request, 'common/register.html', {'error': error})
예제 #6
0
파일: views.py 프로젝트: liuhuanxg/FSHOP
def login(request):
    error = ''
    if request.method == 'POST':
        data = request.POST
        manager_name = data.get('username')
        password = data.get('password')
        print(manager_name, password)
        md5_pwd = set_password(set_password(password))
        print(md5_pwd)
        try:
            m = Manager.objects.get(manager_name=manager_name,
                                    password=md5_pwd)
            #设置session  设置给request
            request.session['manager_name'] = manager_name
            request.session['id'] = m.id
            #设置cookie  设置给response
            response = HttpResponseRedirect('/manager/index')
            response.set_cookie('manager', manager_name)
            return response
        except:
            error = '用户名或者密码有误!'
    return render(request, 'common/login.html', {'error': error})
예제 #7
0
파일: views.py 프로젝트: liuhuanxg/FSHOP
def register(request):
    error = ''
    if request.method == 'POST':
        data = request.POST
        username = data.get('username')
        email = data.get('email')
        password1 = data.get('password1')
        password2 = data.get('password2')
        print(username, email, password1, password2)
        if password1 != password2:
            error = '两次密码不一致!'
            return render(request, 'common/register.html', {"error": error})
        md5_pwd = set_password(set_password(password1))
        #对用户名需要加校验:看当前的用户名是否已经注册
        m = Manager.objects.filter(manager_name=username)
        if not m.exists():
            m = Manager.objects.create(manager_name=username,
                                       email=email,
                                       password=md5_pwd)
            return HttpResponseRedirect('/manager/login')
        error = '用户名重复'
    return render(request, 'common/register.html', {"error": error})
예제 #8
0
def login(request):
    error = ""
    if request.method == "POST":
        data = request.POST
        manager_name = data.get("username")
        password = data.get("password")
        # print(manager_name,password)
        md5_pwd = set_password(set_password(password))
        # print(md5_pwd)
        try:
            m = Manager.objects.get(manager_name=manager_name,
                                    password=md5_pwd)
            #设置session
            request.session['manager_name'] = manager_name
            request.session['id'] = m.id
            #设置cookie
            response = HttpResponseRedirect('/manager/index')
            response.set_cookie("manager", manager_name)
            return response
        except:
            error = "用户名密码有误"

    return render(request, 'common/login.html', {'error': error})
예제 #9
0
파일: views.py 프로젝트: liuhuanxg/FSHOP
def create_order(request):
    if request.method == "POST":
        data = request.POST
        address = data.get("address", 0)

        user_id = request.session.get("user_id")
        a = Address.objects.filter(id=address, user_id=user_id).first()
        if not a:
            return HttpResponse("请选择收货地址!")
        total_money = 0
        goods_id = data.get("goods_id")
        flag = False  #判断是直接购买还是从购物车中购买
        if goods_id:
            count = int(data.get("count"))
            goods = Goods.objects.filter(id=goods_id,
                                         goods_count__gte=count,
                                         status=1).first()
            print(count, goods, 111111111111111)
            if not goods:
                return HttpResponse("商品信息有误,请重新选择!")
            goods.goods_count -= count
            goods.save()
            total_money += goods.goods_oprice * count
            print("totalmone", total_money)
        else:
            carts_list = data.getlist("car_id")
            car_list = Carts.objects.filter(user_id=user_id, id__in=carts_list)
            if not car_list.exists():
                return HttpResponse("请选择商品!")

            # 判断库存是否充足
            for car in car_list:
                print(car.goods_id, car.count)
                goods = Goods.objects.filter(id=car.goods_id, status=1).first()
                if not goods:
                    return HttpResponse("商品已下架,请重新选择!")
                if car.count > goods.goods_count:
                    return HttpResponse("商品数量有误,请重新选择!")

            # 减少库存
            for car in car_list:
                goods = Goods.objects.filter(id=car.goods_id, status=1).first()
                goods.goods_count -= car.count
                goods.save()
                total_money += car.count * goods.goods_oprice
                print(total_money, 222222222)
            flag = True
        # 生成总订单
        total_code = ''.join(str(time.time()).split('.'))
        print(total_code, 22222222222)
        orderObj = Order()
        orderObj.total_code = total_code
        orderObj.user_id = user_id
        orderObj.contacts = a.username
        orderObj.address = a.address
        orderObj.phone = a.userphone
        orderObj.total_money = total_money
        orderObj.save()
        if flag:
            # 生成订单详情
            for car in car_list:
                order_code = set_password(total_code + str(car.id))
                orderinfoObj = Order_info()
                orderinfoObj.order_code = order_code
                orderinfoObj.order_id = orderObj.id
                orderinfoObj.goods_id = car.goods.id
                orderinfoObj.number = car.count
                orderinfoObj.money = car.goods.goods_oprice
                orderinfoObj.manager_id = car.goods.manager_id
                orderinfoObj.save()
                # 订单生成之后删除购物车的数据
                car_list.delete()
        else:
            order_code = set_password(total_code + str(goods.id))
            orderinfoObj = Order_info()
            orderinfoObj.order_code = order_code
            orderinfoObj.order_id = orderObj.id
            orderinfoObj.goods_id = goods.id
            orderinfoObj.number = count
            orderinfoObj.money = goods.goods_oprice
            orderinfoObj.manager_id = goods.manager_id
            orderinfoObj.save()
        r = Pay(total_code, str(total_money),
                "http://127.0.0.1:8000/user/return_url/")
        print("rrrrrr", r)
        return HttpResponseRedirect(r)
    return HttpResponse("请求方式有误!")