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:以流形式打开后的文件

posted @ 2018-01-16 10:44  xsan  阅读(361)  评论(0编辑  收藏  举报