美文网首页
HttpResponse与cookie

HttpResponse与cookie

作者: 生命有一种执着 | 来源:发表于2020-07-03 17:25 被阅读0次

    HttpResponse

    属性一、render

    渲染一个页面

    def test(request):
        # return HttpResponse("<h1>我是前端代码</h1>")#硬编码,不用
        """
        下面的方法软编码,但是复杂,可以使用一条代码包括:
        t = get_template('teacher/test.html')#获取到页面
        html = t.render()#进行渲染后才可以进行访问
        return HttpResponse(html)#返回页面
    
        :param request:
        :return:
        """
        return render(request,'teacher/test.html')#使用这个方法
    

    属性二、redirect

    重定向,跳转页面

    def login(request):
        # return redirect('/index/')  #跳转
        return redirect('index')  #跳转,对应url中name的命名
    

    属性三、JsonResponse

    返回json数据

    #json
    def test_json(request):
        sex = request.GET.get("sex")
        sex = int(sex)
        res = Student.objects.values("name","age","sex").filter(sex=sex)
        res = list(res)
        data = {"result" : res}
        return JsonResponse(data)
    

    结果:

    {"result": [{"sex": 1, "name": "\u4ed8\u4f73\u661f", "age": 25}, {"sex": 1, "name": "\u80e1\u6c38\u96f7", "age": 29}, {"sex": 1, "name": "\u848b\u5fd7\u5b66", "age": 28}]}
    

    cookie

    客户端想服务端发送请求时,服务器会在http协议中加上请求头,通过响应,传送至客户端,并保存,客户端在此访问时,将携带这个cookie去访问,这样服务器才能区分不同的客户端;

    {#页面展示#}
    <body>
        {% block content %}
            <h3>我是第{{ num }}次访问</h3>
    </body>
    
    #函数体
    def index(request):
        num = request.COOKIES.get("num")  #获取次数
        if num:
            num = int(num) + 1
        else:
            num = 1
        respones =  render(request,'teacher/index.html',context={
            'num':num
        })
        respones.set_cookie("num",num)
        return respones
    

    相关文章

      网友评论

          本文标题:HttpResponse与cookie

          本文链接:https://www.haomeiwen.com/subject/lrasqktx.html