Django的视图层——1HttpResponse对象详解

  1. 在django.http模块中定义了HttpResponse对象的API
  2. HttpRequest对象由Django自动创建,HttpResponse对象由程序员创建
  3. 在每一个视图函数中必须返回一个HttpResponse对象,当然也可以是HttpResponse子对象

1.不用模板,直接返回数据

from django.http import HttpResponse

def index(request):
    return HttpResponse('你好')

2.调用模板返回数据

from django.http import HttpResponse

# 返回模板
return render(request,'user/edit.html',{'info':'你好'})

3.子类HttpResponseRedirect

重定向,服务器端跳转
构造函数的第一个参数用来指定重定向的地址
可以简写为 redirect

from django.shortcuts import redirect
from django.urls import reverse

def index(request):
    return redirect(reverse('myindex')

4.子类JsonResponse

返回json数据,一般用于异步请求
帮助用户创建JSON编码的响应
JsonResponse的默认Content-Type为application/json

from django.http import JsonResponse

def index2(requeset):
    return JsonResponse({'list': 'abc'})

5.set_cookie方法

Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。

服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。

Cookies最典型的应用是判定注册用户是否已经登录网站

设置cookie

 # 获取当前的 响应对象
 response = HttpResponse('cookie的设置')

 # 使用响应对象进行cookie的设置
 response.set_cookie('a','abc')

 # 返回响应对象
 return response

获取cookie

# 读取
a = request.COOKIES.get('a',None)

if a:
    return HttpResponse('cookie的读取:'+a)
else:
    return HttpResponse('cookie不存在')
  • 使用cookie做了一个页面访问计数器
# 读取
m = request.COOKIES.get('num',None)
if m:
    m = int(m)+1
else:
    m = 1
# 获取当前的 响应对象
response = HttpResponse('cookie记录的计数器值:'+str(m))
# 使用响应对象进行cookie的设置
response.set_cookie('num',m)
# 返回响应对象
return response
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图灵学者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值