视图函数必须提供至少一个参数、且类型是 request 对象
视图函数的其他参数 取决于是否使用了 参数路由、正则参数路由、或者 定义路由的额外参数
request : 从浏览器 到 服务器
request.path : 获取请求的地址(路由)
request.method : 获取请求的方式,常见的方式是 GET, POST
request.GET : 获取GET请求的参数
request.POST : 获取 POST 请求的参数
request.FILES : 获取浏览器上传的文件对象
request.headers : 获取请求的头信息
request.user : 获取当前登录的用户对象
request.COOKIES : 获取浏览器对应的Cookie
request.session : 获取session会话对象
request.content_type : 获取请求的内容类型
request.encoding : 获取请求的编码格式
request.scheme : 获取请求的协议
GET传入参数的方式, 是通过 在地址后面以 ? 分割、多个参数用 & 分割,每一个参数使用 key=val的结构进行传递
例如
http://www.baidu.com/s?key=a&kw=b&ie=utf-8
http://www.baidu.com/s?key=a&kw&ie=utf-8
MultiValueDict 常见的方法 get , getlist, dict
photo = request.FILES.get(“photo”) 返回一个 InMemoryUploadedFile 对象
name : 获取上传的文件名
size : 获取上传的文件大小
content_type : 获取上传文件的类型
read() : 一次性的将文件读入到内存,适合于 小文件的读取
chunks() : 以块的形式将文件读入到内存,适合于 大文件的读取
for chunk in photo.chunks():
with open("a.jpg", "wb") as f:
f.write(chunk)