django视图
Django内置函数

HTTP请求流程


HttpRequest对象
HttpRequest对象:常用属性
Django会建立一个包含请求源数据的HttpRequest对象,当Django加载对应的视图时,HttpRequest 对象将作为函数视图的第一个参数(request),每个视图负责返回一个HttpResponse对象。
例如:
def index(request): |

HttpRequest对象:常用方法

HttpRequest对象:接收URL参数
URL参数形式:http://www.baidu.cn/demo/?id=1&value=100
def url_args(request): |
HttpRequest对象:QueryDict对象
request.GET和request.POST返回的都是一个QueryDict对象,类似于字典。
def index(request): |

HttpRequest对象:小结
request对象应用场景:
-
获取客户端信息、请求页面情况
-
接收客户端上传的数据,例如文件
-
根据客户端特定信息做相应的处理,例如根据请求方法
HttpResponse对象
HttpResponse对象:HttpResponse函数
HttpResponse函数:给浏览器返回数据。
语法:HTTPResponse(content=响应体,content_type=响应体数据类型,status=状态码)
示例:返回HTML内容
from django.http import HttpResponse |
示例:设置响应头
from django.http import HttpResponse |
HttpResponse对象:render函数
render指定模板,返回一个渲染后的HttpResponse对象。
语法:render(request, template_name, context=None, content_type=None, status=None, using=None)
-
request:固定参数,django封装的请求
-
template_name:返回html模板
-
context:传入模板中的内容,用于渲染模板,默认空字典
示例:
from django.shortcuts import render |
HttpResponse对象:redirect函数
redirect函数:重定向,发起第二次请求
语法:redirect(to, *args, **kwargs)
参数可以是:
-
一个视图
-
一个绝对的或者相对的URL
-
一个模型,对象是重定向的URL
示例:
from django.shortcuts import redirect |
HttpResponse对象:StreamingHttpResponse函数
StreamingHttpResponse函数:流式响应可迭代对象,一般用于响应大数据内容
示例:下载文件
URL路由:
re_path('^download/$', views.download), |
视图:
from django.http import StreamingHttpResponse |
模板:
|
HttpResponse对象: FileResponse函数
FileResponse函数: StreamingHttpResponse的子类,针对文件提供响应
示例:下载文件
def down_file(request, filename): |
HttpResponse对象: JsonResponse函数
JsonResponse函数:响应一个JSON对象
示例:
from django.http import JsonResponse |

