django-视图函数-request简单应用

django-视图函数-request

  • 视图函数必须提供至少一个参数、且类型是 request 对象

  • 视图函数的其他参数 取决于是否使用了 参数路由、正则参数路由、或者 定义路由的额外参数

  • 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 : 获取请求的协议

request 常见的方法

  • request.is_ajax() : 判断是否是异步请求

request.GET, request.POST

  • 返回一个 QueryDict 对象

request.GET

  • 用来接收 GET 请求提交的数据

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

request.POST

  • 使用表单
  • 使用异步请求

QueryDict 常见的方法

  • get(key, default=None) : 通过key 获取 val , val是一个字符串
  • getlist(key) : 通过key 获取 val , val是一个列表
  • dict() : 将 QueryDict 转成 字典、字典中的所有的 val 均为字符串

request.FILES

  • 接收上传的文件对象
  • 返回 MultiValueDict对象

MultiValueDict 常见的方法 get , getlist, dict

photo = request.FILES.get(“photo”) 返回一个 InMemoryUploadedFile 对象

InMemoryUploadedFile 常见的属性和方法

  • name : 获取上传的文件名

  • size : 获取上传的文件大小

  • content_type : 获取上传文件的类型

  • read() : 一次性的将文件读入到内存,适合于 小文件的读取

  • chunks() : 以块的形式将文件读入到内存,适合于 大文件的读取

for chunk in photo.chunks():
	with open("a.jpg", "wb") as f:
		f.write(chunk)

猜你喜欢

转载自blog.csdn.net/qq_40679091/article/details/109147921