cookie和session

  1.返回一共四种方式:这四种方式和创建cookie有关

from django.shortcuts import render,HttpResponse,redirect

from myproject import settings
from django.http import JsonResponse
import json


from project import models
from django.db.models import Avg,Min,Max,Sum,Count

# Create your views here.

def login(request):

    if request.method == 'GET':
        # return HttpResponse('ok')
        return render(request, 'login.html')
    else:
        print('678')
        print(request.POST)
        username = request.POST.get('username')
        pwd = request.POST.get('pwd')

        if username == 'alex' and pwd == '123':
            # ret = redirect('home')
            res = {'state': '0', 'info': 'success', 'url': '/home/'}
            ret = JsonResponse(res)
            # max_age=3;只有三秒的周期
            ret.set_cookie('is_login', True)
            ret.set_cookie('user', username)
            # 在谷歌application里面storage里面找到cookie
            # res_ret = json.dumps(res)
            # print('333')
            # 第一种回复
            # return HttpResponse(res_ret, content_type='application/json')
            # 第二种回复,本身就是json,传字典过去 ,要是列表必须设置 safe=False
            return ret
        else:
            print('111')
            return redirect('login')

前段:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<form action="">
    {% csrf_token %}
    用户名:<input type="text" name="name" id="username"><span>输入正确</span>
    <br/>
    密码: <input type="password" name="pwd" id="pwd"><span>输入正确</span>
    <br/>
    <input type="button" value="提交" id="submit">
</form>

<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<script>

    $("#submit").click(function(){
        var username = $('#username').val();
        var pwd = $('#pwd').val();
        var csrc_data = $('[name=csrfmiddlewaretoken]').val();
        $.ajax({
            url:"{% url 'login' %}",
            type:'post',
            data:{
                username:username,
                pwd: pwd,
                csrfmiddlewaretoken: csrc_data,
            },
            success:function(res){
                    var url = res.url;
                    location.href = url;
                {#console.log(response)#}
                //alert(response)
            }
        })
    })

</script>
</body>
</html>

SESSION:

session 里面的引用 是从中间件里面:

'django.contrib.sessions.middleware.SessionMiddleware',引用的
def login2(request):

    if request.method == 'GET':
        print('123')
        return render(request, 'login.html')
    else:
        username = request.POST.get('username')
        password = request.POST.get('pwd')

        if username == 'alex' and password == '123':

            request.session['is_login'] = True
            request.session['user'] = username

            # next_url = request.session.get("user")
            #
            res = {'state': '0', 'info': 'success', 'url': '/home/'}
            ret = JsonResponse(res)
            return ret

        else:
            res = {'state': '0', 'info': 'success', 'url': '/login/'}
            ret = JsonResponse(res)
            return ret

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值