HttpResponse对象
- 视图在接收请求并处理后,必须返回
HttpResponse对象
或子对象
- 子对象:
JsonResponse
HttpResponseRedirect
- 子对象:
- 在
django.http
模块中定义了HttpResponse
对象的API HttpRequest对象
由Django创建,HttpResponse对象
由开发人员创建
常见属性
- content:表示返回的内容
- charset:表示response采用的编码字符集,默认为utf-8
- status_code:返回的HTTP响应状态码
- content_type:指定返回数据的的MIME类型,默认为'text/html'
浏览器中查看响应报文信息
常见方法
- init:创建HttpResponse对象后完成返回内容的初始化
- write:向响应体中写数据
set_cookie:设置Cookie信息
set_cookie('key', 'value', max_age=None, expires=None)
- cookie是网站以键值对格式存储在浏览器中的一段纯文本信息,用于实现用户跟踪
- max_age是一个整数,表示在指定秒数后过期
- expires是一个datetime或timedelta对象,会话将在这个指定的日期/时间过期
- max_age与expires二选一
- 如果不指定过期时间,默认两个星期后过期
delete_cookie:删除指定的key的Cookie,如果key不存在则什么也不发生
delete_cookie('key')
HttpResponse响应内容示例
- 直接响应数据
from django.http import HttpResponse
# 直接返回数据
def testproject(request):
return HttpResponse('value')
- 调用模板-常规写法
from django.http import HttpResponse
from django.template import loader,RequestContext
def test(request):
# 1.定义上下文
context=RequestContext(request, {'key':'value'})
# 2.获取模板
template=loader.get_template('Book/test.html')
# 3.渲染模板
return HttpResponse(template.render(context))
- 调用模板-简写 (重要)
render()
函数和HttpResponse()
函数都是返回数据给请求者render()
函数封装主要的三个步骤- 1.定义上下文--->获取模板--->渲染模板
- 2.该函数就是让模板语言去执行
from django.shortcuts import render
def test(request):
# 定义上下文
context = {'key':'value'}
# 获取模板,渲染模板,让模板语言执行
return render(request, 'Book/test.html', context)