Beispiel #1
0
def login(request):
    if request.method == 'GET':
        return render(request,'login.html')
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('pwd')

        if UserModel.objects.filter(username=username).exists():

            User = UserModel.objects.get(username=username)

            if check_password(password,User.password):
                ticket = get_ticket()
                out_date = datetime.now() + timedelta(days=14)
                TicketModel.objects.create(
                    user = User,
                    ticket = ticket,
                    out_date = out_date,
                    )
                response = HttpResponseRedirect(reverse('ttsx:index'))
                response.set_cookie('ticket', ticket, expires=out_date)
                return response
            else:
                msg = '密码错误'
                return render(request,'login.html',{'msg':msg})
        else:
            msg = '密码错误'
            return render(request,'login.html',{'msg':msg})
Beispiel #2
0
def login(request):
    # 登录
    if request.method == 'GET':
        return render(request, 'userweb/login.html')
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        data = {}
        # 检验登录时的数据是否完整
        if not all([username, password]):
            data['msg'] = '请填入完整的信息'
        # 判断用户是否存在数据库中, exists判断结果是否存在,返回为true(存在)或者false(不存在)
        if User.objects.filter(username=username).exists():
            user = User.objects.get(username=username)
            if check_password(password, user.password):
                res = HttpResponseRedirect(reverse('userweb:my'))
                # 获取cookie值
                ticket = get_ticket()
                out_time = datetime.now() + timedelta(days=30)
                res.set_cookie('ticket', ticket, expires=out_time)
                # 将cookie值存到数据库中
                UserTicket.objects.create(user=user,
                                          ticket=ticket,
                                          out_time=out_time)
                return res
            else:
                data['msg'] = '密码错误'

        else:
            data['msg'] = '用户名错误'
        # 返回用户登录的页面
        return render(request, 'userweb/login.html', data)
Beispiel #3
0
def Login(request):
    if request.method == 'GET':
        return render(request, 'user/user_login.html')
    if request.method == 'POST':
        name = request.POST.get('username')
        password = request.POST.get('password')
        if UserModel.objects.filter(username=name).exists():
            user = UserModel.objects.get(username=name)
            if check_password(password, user.password):
                response = HttpResponseRedirect('/axf/home/')
                ticket = get_ticket()
                out_time = datetime.now() + timedelta(days=1)
                response.set_cookie('ticket', ticket, expires=out_time)
                UserTicketModel.objects.create(user=user,
                                               ticket=ticket,
                                               out_time=out_time)
                # user.ticket = ticket
                # user.save()
                request.session['user'] = user
                #print("user2",request.session['user'])
                return response
            else:
                return render(request, 'user/user_login.html',
                              {'password': '******'})
        else:
            return render(request, 'user/user_login.html', {'name': '用户不存在'})
Beispiel #4
0
def my_login(request):
    if request.method == 'GET':
        return render(request, 'login.html')

    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        # 先验证用户是否存在
        if MyUser.objects.filter(username=username).exists():
            user = MyUser.objects.get(username=username)
            if check_password(password, user.password):
                # 在客户端cookie中保存一个session id值
                res = HttpResponseRedirect(reverse('app:index'))
                ticket = get_ticket()
                res.set_cookie('ticket', ticket)
                # 在服务端保存一个session 值
                user.ticket = ticket
                user.save()

                return res

            else:
                return HttpResponseRedirect(reverse('app:my_login'))
        else:
            return HttpResponseRedirect(reverse('app:my_login'))
Beispiel #5
0
def login(request):
    # 登录视图函数
    if request.method == 'GET':
        # 如果是GET请求,进入注册页面
        return render(request, 'user/user_login.html')

    if request.method == 'POST':
        # 如果是POST请求,需进行用户信息验证
        username = request.POST.get('username')
        password = request.POST.get('password')
        data = {}
        # 验证登陆信息是否完整
        if not all([username, password]):
            data['msg'] = '信息填写不完整'
        # 验证用户是否注册
        if UserModel.objects.filter(username=username).exists():
            # 判断密码是否正确
            user = UserModel.objects.get(username=username)
            if check_password(password, user.password):
                # 保存ticket到浏览器
                ticket = get_ticket()
                response = HttpResponseRedirect(reverse('axf:mine'))
                out_time = datetime.now() + timedelta(days=1)
                response.set_cookie('ticket', ticket, expires=out_time)
                # 保存ticket到数据库表中
                UserTicketModel.objects.create(user=user,
                                               out_time=out_time,
                                               ticket=ticket)
                return response
            else:
                data['msg'] = '密码错误'
        else:
            data['msg'] = '用户名错误'
        return render(request, 'user/user_login.html', data)
Beispiel #6
0
def login(request):
    if request.method == 'GET':
        return render(request, 'user/user_login.html')
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        data = {}
        # 验证数据是否完整
        if not all([username, password]):
            data['msg'] = '请填写完整的信息'
        if UserModel.objects.filter(username=username).exists():
            user = UserModel.objects.get(username=username)
            if check_password(password, user.password):
                # 存票ticket在cookie中
                ticket = get_ticket()
                res = HttpResponseRedirect(reverse('user:my'))
                out_time = datetime.now() + timedelta(days=1)
                res.set_cookie('ticket', ticket, expires=out_time)
                # 存ticket在userTicket表中
                UserTicketModel.objects.create(user=user,
                                               ticket=ticket,
                                               out_time=out_time)
                return res
            else:
                data['msg'] = '密码错误'
        else:
            data['msg'] = '用户名错误'
        return render(request, 'user/user_login.html', data)
Beispiel #7
0
def login(request):
    if request.method == 'GET':
        return render(request, 'login.html')

    if request.method == 'POST':
        form = UserForm(request.POST)

        if form.is_valid():
            # 登录的设置
            # 1.通过用户名和密码获取当前的user对象  ====>> auth.authenticate()
            user = Users.objects.filter(username=form.cleaned_data['username']).first()
            if user:
                # 将user.password和form.cleaned_data['password']进行校验
                if check_password(form.cleaned_data['password'], user.password):
                    # 校验成功
                    # 1.向cookie中设置随机参数ticket
                    res = HttpResponseRedirect(reverse('myapp:index'))
                    # set_cookie(key, value, max_age='', expires='')
                    ticket = get_ticket()
                    res.set_cookie('ticket', ticket, max_age=10)
                    # 2.向user_ticket中存这个ticket和user的对应关系
                    UserTicket.objects.create(user=user, ticket=ticket)

                    return res

                else:
                    return render(request, 'login.html')
            else:
                # 用户名不存在
                return render(request, 'login.html')
            # 2.设置cookie中的随机值  =====>> auth.login()
            # 3.设置user_ticket中的随机值
        else:
            return render(request, 'login.html')
Beispiel #8
0
def login(request):
    """
    登录
    :param request:
    :return:
    """
    # GET请求返回登录页面
    if request.method == 'GET':

        return render(request, 'user/user_login.html')

    if request.method == 'POST':
        # 先验证是否有这个用户
        if UserModel.objects.filter(
                username=request.POST.get('username')).exists():
            # 得到这个user
            user = UserModel.objects.filter(
                username=request.POST.get('username')).first()
            # 验证密码
            if check_password(request.POST.get('password'), user.password):
                # 在ticket 在客户端和服务端
                ticket = get_ticket()
                # 绑定cookies 的ticket
                response = HttpResponseRedirect(reverse('app1:home'))
                # timedelta 是时间差, 此处意为out_time的时间等于现在的时间加上一个时间差
                out_time = datetime.now() + timedelta(hours=8)
                response.set_cookie('ticket', ticket, expires=out_time)
                UserTicketModel.objects.create(user_id=user.id,
                                               ticket=ticket,
                                               out_time=out_time)
                return response
            return render(request, 'user/user_login.html', {'msg': '用户名或密码错误'})
        else:
            return render(request, 'user/user_login.html', {'msg': '用户名或密码错误'})
Beispiel #9
0
def user_login(request):

    if request.method == 'GET':

        return render(request, 'user/user_login.html')

    if request.method == 'POST':

        username = request.POST.get('username')
        password = request.POST.get('password')

        # 验证用户是否存在
        users = UserModel.objects.filter(username=username)
        if users:
            # 教验密码
            if check_password(password, users[0].password):

                # 设置cookie
                response = HttpResponseRedirect(reverse('axf:mine'))
                ticket = get_ticket()
                out_time = datetime.now() + timedelta(days=1)
                response.set_cookie('ticket', ticket, expires=out_time)

                # 服务端存时间
                UserTicketModel.objects.create(user=users[0],
                                               ticket=ticket,
                                               out_time=out_time)
                return response
        else:
            return render(request, 'user/user_login.html')
Beispiel #10
0
def login(request):
    """
    登录
    :param request:
    :return:
    """

    if request.method == 'GET':

        return render(request, 'user/login.html')

    if request.method == 'POST':

        username = request.POST.get('username')
        password = request.POST.get('pwd')

        if UserModel.objects.filter(username=username).exists():
            user = UserModel.objects.filter(username=username).first()
            if check_password(password, user.password):
                ticket = get_ticket()
                out_time = datetime.now() + timedelta(days=7)
                response = HttpResponseRedirect(reverse('app:index'))
                response.set_cookie('ticket', ticket)
                UserTicketModel.objects.create(user_id=user.id,
                                               ticket=ticket,
                                               out_time=out_time)
                return response
            return render(request, 'user/login.html', {'msg': '用户名或密码错误'})
        return render(request, 'user/login.html', {'msg': '用户名或密码错误'})
Beispiel #11
0
def login(request):
    if request.method == 'GET':
        return render(request, 'user/user_login.html')
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        if not all([username, password]):
            msg = '请填写完整'
            return render(request, 'user/user_login.html', {'msg': msg})
        if UserModel.objects.filter(username=username).exists():
            user = UserModel.objects.get(username=username)
            # checkpassword 返回布尔值  前面填获取的密码 后面是服务器已经加密的密码
            if check_password(password, user.password):
                ticket = get_ticket()
                res = HttpResponseRedirect(reverse('user:mine'))
                # 当前时间加1天
                out_time = datetime.now() + timedelta(days=1)
                # max_age为最大存活时间  expires 是什么时候到期
                res.set_cookie('ticket', ticket, expires=out_time)
                UserTicketModel.objects.create(user=user,
                                               ticket=ticket,
                                               out_time=out_time)

                return res
            else:
                data = {'msg': '账号或者密码错误'}
        else:
            data = {'msg': '账号或者密码错误'}
        return render(request, 'user/user_login.html', data)
Beispiel #12
0
def login(request):

    if request.method == 'GET':
        return render(request, 'un/login.html')
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('pwd')
        user = UserInfo.objects.filter(uname=username).first()
        if user:
            if check_password(password, user.upwd):
                ticket = get_ticket()

                response = HttpResponseRedirect(reverse('user:index'))

                out_time = datetime.now() + timedelta(days=1)
                response.set_cookie('ticket', ticket, expires=out_time)
                UserTicketModel.objects.create(user=user,
                                               ticket=ticket,
                                               out_time=out_time)
                return response
            else:
                return render(request, 'un/login.html',
                              {'password': '******'})
        else:
            return render(request, 'un/login.html', {'name': '帐号不存在!建议先注册用户'})
Beispiel #13
0
def login(request):
    if request.method == 'GET':
        return render(request, 'login.html')

    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('pwd')
        data = {}
        # 验证信息是否填写完整
        if not all([username, password]):
            data['msg'] = '请填写完整的用户名或密码'
        # 验证用户是否注册
        if UserModel.objects.filter(username=username).exists():
            user = UserModel.objects.get(username=username)
            # 验证密码是否正确
            if check_password(password, user.password):
                # 如果密码正确将ticket值保存在cookie中
                ticket = get_ticket()
                response = HttpResponseRedirect(reverse('store:index'))
                out_time = datetime.now() + timedelta(days=2)
                response.set_cookie('ticket', ticket, expires=out_time)
                # 保存ticket值到数据库user_ticket表中
                UserTicketModel.objects.create(user=user,
                                               out_time=out_time,
                                               ticket=ticket)
                return response
            else:
                msg = '用户名或密码错误'
                return render(request, 'login.html', {'msg': msg})
        else:
            msg = '用户名不存在,请注册后在登陆'
            return render(request, 'login.html', {'msg': msg})
Beispiel #14
0
def login(request):
    if request.method == 'GET':
        return render(request, 'login.html')
    if request.method == 'POST':
        username = request.POST.get('username')
        pwd = request.POST.get('userpwd')
        # 通过前端获取的数据查找数据表中是否存在该用户
        user = Users.objects.filter(u_name=username).first()
        if user:
            # 将user.password和form.cleaned_data['password']进行校验
            if check_password(pwd, user.u_pwd):
                # 校验用户名和密码都成功
                # 1. 设置cookie中的随机参数ticket --> auth.login()
                res = HttpResponseRedirect(reverse('boke:index'))
                # set_cookie(key, value, max_age='', expires='')
                ticket = get_ticket()
                res.set_cookie('ticket', ticket, max_age=100000)

                now = datetime.now()
                # 2. 设置user_ticker中存ticket和user的对应关系
                timespan = timedelta(days=1)
                UserTicket.objects.all().delete()
                UserTicket.objects.create(user=user, ticket=ticket, out_time=now)
                UserTicket.objects.filter(ticket=ticket).update(out_time=now + timespan)
                return res
        else:
            return render(request, 'login.html')
Beispiel #15
0
def login(request):
    if request.method == 'GET':
        return render(request, 'user/login.html')

    if request.method == 'POST':
        user_name = request.POST.get('username')
        password = request.POST.get('password')

        # 验证信息是否完整
        if not all([user_name, password]):
            return JsonResponse(status_code)
        # 验证用户是否存在
        if not UserModel.objects.filter(username=user_name).exists():
            return JsonResponse(status_code.USER_LOGIN_USERNAME_NOT_EXIST)
        # 验证密码是否正确
        user = UserModel.objects.filter(username=user_name).first()
        name = user.username
        if not check_password(password, user.password):
            return JsonResponse(
                status_code.USER_LOGIN_PASSWORD_AUTHENTICATION_FAILED)
        # 验证成功,将登陆信息写入浏览器cookies和数据库的user_ticket表
        res = JsonResponse(status_code.SUCCESS)
        # 生成用户ticket
        user_ticket = get_ticket()
        # 指定失效时间
        out_time = datetime.now() + timedelta(days=1)
        # 将ticket写入浏览器
        res.set_cookie('user_ticket', user_ticket, expires=out_time)

        # 创建ticket对象,将ticket写入数据库
        UserTicketModel.objects.create(user_id=user.id,
                                       user_ticket=user_ticket,
                                       out_time=out_time)
        return res
Beispiel #16
0
def login(request):
    """
    登录
    """
    if request.method == 'GET':
        return render(request, 'user/user_login.html')

    if request.method == 'POST':

        username = request.POST.get('username')
        password = request.POST.get('password')
        # 验证用户是否存在
        user = UserModel.objects.filter(username=username).first()
        if user:
            # 验证密码是否正确
            if check_password(password, user.password):
                # 1. 保存ticket在客户端
                ticket = get_ticket()
                response = HttpResponseRedirect(reverse('axf:mine'))
                out_time = datetime.now() + timedelta(days=1)
                response.set_cookie('ticket', ticket, expires=out_time)
                # 2. 保存ticket到服务端的user_ticket表中
                UserTicketModel.objects.create(user=user,
                                               out_time=out_time,
                                               ticket=ticket)

                return response
            else:
                msg = '密码错误'
                return render(request, 'user/user_login.html', {'msg': msg})
        else:
            msg = '用户不存在'
            return render(request, 'user/user_login.html', {'msg': msg})
Beispiel #17
0
def login(request):
    if request.method == 'GET':
        return render(request, 'user/user_login.html')

    if request.method == 'POST':

        # 获取用户名与密码
        username = request.POST.get('username')
        password = request.POST.get('password')

        data = {}
        # 验证数据是否完整
        if not all([username, password]):
            data['msg'] = '请填写完整的信息'
        # 验证用户名是否正确
        if UserModel.objects.filter(username=username).exists():
            user = UserModel.objects.get(username=username)
            # check_password密码校验
            if check_password(password, user.password):
                # 存票ticket在cookie中(session id)
                ticket = get_ticket()
                res = HttpResponseRedirect(reverse('user:my'))
                # 设置过期时间为1天 - datetime.now(): 当前时间
                out_time = datetime.now() + timedelta(days=1)
                res.set_cookie('ticket', ticket, expires=out_time)

                # 存ticket在UserTicket中 - 数据库中创建数据(服务端UserTicket中存用户和ticket的关联关系)
                UserTicketModel.objects.create(user=user, ticket=ticket, out_time=out_time)

                return res
            else:
                data['msg'] = '密码错误'
        else:
            data['msg'] = '用户名错误'
        return render(request, 'user/user_login.html', {'data': data})
Beispiel #18
0
def login(request):
    """
    用户登录
    :param request:登录请求
    :return: 服务器响应
    """
    if request.method == 'GET':
        return render(request, 'back_manage/login.html')

    if request.method == 'POST':
        username = request.POST.get('username')
        pwd = request.POST.get('pwd')
        if not all([username, pwd]):
            return render(request, 'back_manage/login.html')
        user = UserModel.objects.filter(username=username).first()
        if user:
            if check_password(pwd, user.pwd):
                ticket = get_ticket()
                print(type(ticket))
                out_time = datetime.now() + timedelta(days=1)
                UserTicket.objects.create(
                    ticket=ticket,
                    user=user,
                    out_time=out_time,
                )

                res = HttpResponseRedirect(reverse('index'))
                res.set_cookie('ticket', ticket, expires=out_time)

                return res
Beispiel #19
0
def login(request):
    if request.method == 'GET':
        return render(request, 'login.html')

    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('pwd')
        data = {}
        # 判断用户名是否存在
        if UserModel.objects.filter(username=username).exists():
            user = UserModel.objects.get(username=username)
            # 密码验证
            if check_password(password, user.password):
                # 存ticket在cookie中
                ticket = get_ticket()
                res = HttpResponseRedirect(reverse('app:user_center_info'))
                # 过期时间
                out_time = datetime.now() + timedelta(days=2)
                res.set_cookie('ticket', ticket, expires=out_time)
                # 创建
                UserTicketModel.objects.create(user=user,
                                               ticket=ticket,
                                               out_time=out_time)
                return res
            else:
                data['msg'] = '密码错误'
                return render(request, 'login.html')
        else:
            data['msg'] = '账号错误'
            return render(request, 'login.html')
Beispiel #20
0
def orderinfo(request):
    if request.method == 'GET':
        user = request.user
        o_num = get_ticket()
        order = OrderModel.objects.create(user=user,
                                  o_num=o_num)
        # 选择勾选商品进行下单
        user_carts = CartModel.objects.filter(user=user,is_select=True)

        for carts in user_carts:
            OrderGoodsModel.objects.create(goods=carts.goods,
                                           order=order,
                                           goods_num=carts.c_num)
        # 把已下单的商品在购物车里面删除
        user_carts.delete()
        return render(request,'order/order_info.html', {'order': order})
Beispiel #21
0
def generate_order(request):
    """
    下单
    """
    if request.method == 'GET':
        user = request.user
        # 创建订单
        o_num = get_ticket()
        order = OrderModel.objects.create(user=user, o_num=o_num)
        # 选择勾选的商品进行下单
        user_carts = CartModel.objects.filter(user=user, is_select=True)
        for carts in user_carts:
            # 创建商品和订单之间的关系
            OrderGoodsModel.objects.create(goods=carts.goods,
                                           order=order,
                                           goods_num=carts.c_num)
        user_carts.delete()
        return render(request, 'order/order_info.html', {'order': order})
Beispiel #22
0
def login(request):
    if request.method == 'GET':
        return render(request, 'login.html')

    if request.method == 'POST':
        # 校验登录页面传递的参数
        form = LoginForm(request.POST)
        # 使用is_valid()判断是否校验成功
        if form.is_valid():
            # 登录设置
            # 1.通过用户名和密码获取当前的user对象===》》auth.authenticate()

            user = Users.objects.filter(
                username=form.cleaned_data['username']).first()
            if user:
                # 可以通过username获取到对象
                # 将 user.password和form.cleaned_data['password']进行校验
                if check_password(form.cleaned_data['password'],
                                  user.password):
                    # 校验用户名和密码都成功
                    # 1.向cookies中设置随机参数ticket
                    res = HttpResponseRedirect(reverse('app:index'))
                    # set_cookie(key, value, max_age='', expires='')
                    ticket = get_ticket()
                    res.set_cookie('ticket', ticket, max_age=1000)

                    # 2.向表user_ticket中存这个ticket和user的对应关系
                    UserTicket.objects.create(user=user,
                                              ticket=ticket,
                                              max_age=100)
                    return res
                else:
                    return render(request, 'login.html', {'error': '密码不正确'})

            else:
                # 登录系统的用户名不存在
                return render(request, 'login.html', {'error': '用户名不存在'})

            # 2.设置cookies中的随机值===>>>auth.login()
            # 3.设置user_ticket中的随机值
        else:
            return render(request, 'login.html', {'form', form})
Beispiel #23
0
def login(request):
    if request.method == 'GET':
        return render(request, 'users/login.html')
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('pwd')
        if User.objects.filter(username=username).exists():
            user = User.objects.filter(username=username).first()
            if check_password(password, user.password):
                res = HttpResponseRedirect(reverse('contents:index'))
                out_time = datetime.now() + timedelta(days=1)
                ticket = get_ticket()
                res.set_cookie('ticket', ticket, expires=out_time)
                UserTicket.objects.create(user=user,
                                          ticket=ticket,
                                          out_time=out_time)
                return res
            else:
                return HttpResponseRedirect(reverse('users:login'))
        else:
            return HttpResponseRedirect(reverse('users:login'))
Beispiel #24
0
def user_login(request):
    if request.method == "GET":

        return render(request, 'user/user_login.html')

    elif request.method == "POST":
        username = request.POST.get("username")
        password = request.POST.get("password")

        users = UserModel.objects.filter(username=username)

        if users.exists():
            user = users.first()
            if check_password(password, user.password):
                ticket = get_ticket()
                out_time = datetime.now() + timedelta(days=1)

                response = HttpResponseRedirect(reverse("axf:mine"))
                response.set_cookie('ticket', ticket, expires=out_time)
                return response

        return HttpResponseRedirect(reverse("axf:user_login"))
Beispiel #25
0
def admin_login(request):
    if request.method == 'GET':
        return render(request, 'admin/login.html')

    if request.method == 'POST':
        username = request.POST.get('username')

        password = request.POST.get('password')
        print("username == %s , password == %s " % (username, password))
        data = {}
        # 验证信息是否填写完整
        if not all([username, password]):
            data['msg'] = '用户名或者密码不能为空'
        # 验证用户是否注册
        if UserModel.objects.filter(username=username).exists():
            user = UserModel.objects.get(username=username)
            print("password == %s, equal = %s " % (user.password, user.password == password))
            # 验证密码是否正确
            if check_password(password, user.password):
            # if password == user.password:
                # 如果密码正确将ticket值保存在cookie中
                ticket = get_ticket()
                response = HttpResponseRedirect(reverse('admin:admin_index'))
                out_time = datetime.now() + timedelta(days=1)
                response.set_cookie('ticket', ticket, expires=out_time)
                # 保存ticket值到数据库user_ticket表中
                UserTicketModel.objects.create(user=user,
                                               out_time=out_time,
                                               ticket=ticket)

                return response
            else:
                msg = '用户名或密码错误'
                print(msg)
                return render(request, 'user/login.html', {'msg': msg})
        else:
            msg = '用户名不存在,请注册后在登陆'
            print(msg)
            return render(request, 'user/login.html', {'msg': msg})
Beispiel #26
0
def login(request):
    """
    登录
    """
    data = {'title': '登录'}
    if request.method == 'GET':
        # GET请求返回页面
        return render(request, 'user/user_login.html', data)

    if request.method == 'POST':
        # POST请求获取用户名和密码
        username = request.POST.get('username')
        password = request.POST.get('password')
        # 验证用户是否存在
        user = UserModel.objects.filter(username=username).first()
        if user:
            # 验证密码是否正确
            if check_password(password, user.password):
                # 1. 保存 ticket 在客户端
                # 自定义ticket模块生成ticket并获取
                ticket = get_ticket()
                # 保存返回的HttpResponse对象
                response = HttpResponseRedirect(reverse('axf:mine'))
                # 定义过期时间
                out_time = datetime.now() + timedelta(days=1)
                # 设置返回HttpResponse对象的cookie
                response.set_cookie('ticket', ticket, expires=out_time)
                # 2. 保存ticket到服务端的user_ticket表中
                UserTicketModel.objects.create(user=user,
                                               out_time=out_time,
                                               ticket=ticket)
                # 返回HttpResponse对象
                return response
            else:
                data['msg'] = '密码错误'
                return render(request, 'user/user_login.html', data)
        else:
            data['msg'] = '用户不存在'
            return render(request, 'user/user_login.html', data)
Beispiel #27
0
def login_back(request):
    if request.method == 'GET':
        return render(request, 'login_back.html')
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        if MyUser.objects.filter(username=username):
            user = MyUser.objects.get(username=username)
            if check_password(password, user.password):
                ticket = get_ticket()
                out_time = datetime.now() + timedelta(hours=1)
                res = HttpResponseRedirect(reverse('adminback:index_back'))
                res.set_cookie('ticket', ticket, expires=out_time)
                UserTicketModel.objects.create(user=user,
                                               ticket=ticket,
                                               out_time=out_time)
                return res
            else:
                msg = '密码错误'
                return render(request, 'login.html', {'msg': msg})
        else:
            msg = '用户不存在'
            return render(request, 'login.html', {'msg': msg})
Beispiel #28
0
def login(request):
    """登录视图"""
    if request.method == 'GET':
        request.session['login_from'] = request.META.get('HTTP_REFERER', '/')
        return render(request, 'user/login.html')

    if request.method == 'POST':
        phone_or_name = request.POST.get('username')
        password = request.POST.get('password')

        user = User.objects.filter(
            Q(phone=phone_or_name) | Q(name=phone_or_name)).first()

        # 验证数据完整性
        if not all([phone_or_name, password]):
            return JsonResponse(statucode.DATA_NOT_COMPLETE)

        # 验证用户是否存在
        if not user:
            return JsonResponse(statucode.USER_NOT_EXISTS)

        # 验证密码是否正确
        if not check_password(password, user.password):
            return JsonResponse(statucode.USERNAME_OR_PASSWORD_ERROR)

        ticket = get_ticket()
        user = User.objects.filter(
            Q(phone=phone_or_name) | Q(name=phone_or_name)).first()
        user.ticket = ticket
        user.save()

        # 从session 中取出存放的login_from 然后将其返回到前端
        url = request.session.get('login_from')

        response = JsonResponse({'code': statucode.OK, 'jump_url': url})
        response.set_cookie('ticket', ticket)
        return response
Beispiel #29
0
def login(request):
    if request.method == 'GET':
        return render(request, 'user/user_login.html')
    if request.method == 'POST':
        username = request.POST.get('username')
        passwd = request.POST.get('password')
        user = UserModel.objects.filter(username=username).first()
        if user:
            if check_password(passwd, user.password):
                ticket = get_ticket()
                response = HttpResponseRedirect('/axf/mine')
                out_time = datetime.now() + timedelta(days=1)
                response.set_cookie('ticket', ticket, expires=out_time)

                UserTicketModel.objects.create(user=user,
                                               out_time=out_time,
                                               ticket=ticket)
                return response
            else:
                msg = '密码错误'
                return render(request, 'user/user_login.html', {'msg': msg})
        else:
            msg = '用户不存在'
            return render(request, 'user/user_login.html', {'msg': msg})
Beispiel #30
0
def login(request):
    if request.method == 'GET':
        return render(request, 'admin/login.html')
        # 请求的方式为POST的时候,进行用户登录操作
    if request.method == 'POST':
        # 获取输入的admin_name和password
        admin_name = request.POST.get('admin_name')
        password = request.POST.get('password')
        # 判断用户名是否存在
        if AdminModel.objects.filter(admin_name=admin_name).exists():
            # 取到admin
            admin = AdminModel.objects.get(admin_name=admin_name)
            # 检查输入的密码和数据库中的密码是否一致
            admin_id = admin.id
            if check_password(password, admin.password):
                res = HttpResponseRedirect(
                    reverse('admin:index'))  # , kwargs={'user_id': user_id}
                # 生成缓存ticket
                admin_ticket = get_ticket()
                # 指定缓存失效时间
                out_time = datetime.now() + timedelta(days=1)
                # 将ticket写入浏览器
                res.set_cookie('admin_ticket', admin_ticket, expires=out_time)

                # 创建AdminTicketModel对象
                AdminTicketModel.objects.create(admin_id=admin_id,
                                                admin_ticket=admin_ticket,
                                                out_time=out_time)
                # 跳转到index页面
                return res
            else:
                # 密码验证不对,跳转到登陆页面
                return HttpResponseRedirect(reverse('admin:login'))
        else:
            # 用户名不存在,跳转到登陆页面
            return HttpResponseRedirect(reverse('admin:login'))