HttpResponse与cookie

2020-07-03  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读