Django的视图响应类型
Django的视图响应类型
一、 视图函数编写原则
视图函数接受HTTP请求并返回响应,可以放在任何地方,可以是任何功能;视图函数可以返回Web文本,页面、重定向、错误、图片等任何内容;视图函数通过HttpResponse、JsonResponse等类表达并返回响应;按约定,视图函数放在对应app中的views.py文件中
二、 Django的响应类型
任何一个URL请求,在Django中会形成一个对应的反馈,而这个反馈或叫响应是以类的形式表达。
1、 HttpResponse类及子类(共10个)
类型 |
说明 |
HttpResponse |
主要反馈类型,父类,HTTP状态码默认为200 |
HttpResponseRedirect |
重定向,HTTP状态码为302 |
HttpResponsePermantRedirect |
永久重定向,HTTP状态码为301 |
HttpResponseNotModified |
网页无法改动,该类型无任何参数,HTTP状态码为304 |
HttpResponseBadRequest |
不良响应,HTTP状态码为400 |
HttpResponseForbidden |
禁止访问,HTTP状态码为403 |
HttpResponseNotAllowed |
不被允许,HTTP状态码为405 |
HttpResponseGone |
HTTP状态码为410 |
HttpResponseServerError |
服务器错误,HTTP状态码为500 |
HttpResponseNotFound |
404错误,HTTP状态码为404 |
格式:HttpResponse(content,content_type=None,status=200,charset=None)
Content:对url请求响应返回的字符串,表达HTML文本的字符信息
Content_type:MIME格式的返回内容类型,以何种方式解析该字符串,是以文本格式解析还是文件形式还是字符串或是图片的形式或者是其他类型的格式解析
Status:响应状态码,默认是200
Charset:返回响应的字符集
2、 JsonResponse类
返回json格式的数据
格式:JsonResponse(data)
data:字典类型,返回的JSON类型数据
3、 StreamingHttpResponse类
格式:StreamingHttpResponse(streaming_content)
streaming_content:内容的迭代器,以内容流的方式响应
4、 FileResponse类
反馈一个文件
格式:FlieResponse(stream)
stream:以流形式打开后的文件