目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

Python全系列 教程

3567个小节阅读:5930.6k

收藏
全部开发者教程

鸿蒙应用开发

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(697)
赞(0)

4、请求和响应

1.HttpRequest

每一个用户请求在到达视图函数的同时,django会自动创建一个HttpRequest对象并把这个对象当做第一个参数传给要调用的views方法。HttpRequest对象里封装了本次请求所涉及的用户浏览器端数据、服务器端数据等,在views里可以通过request对象来调用相应的属性。

所有视图函数的第一个参数都是HttpRequest实例

属性(除非另有说明,否则所有属性均应视为只读):

  • HttpRequest.scheme:

    表示请求使用的协议(http或https)

  • HttpRequest.body:

    原始HTTP请求主体,类型是字节串。处理数据一些非html表单的数据类型很有用,譬如:二进制图像,XML等;

    • 取form表单数据,请使用 HttpRequest.POST
    • 取url中的参数,用HttpRequest.GET

  • HttpRequest.path:

    表示请求页面的完整路径的字符串,不包括scheme和域名。

    例: "/music/bands/the_beatles/"

  • HttpRequest.path_info:

    在某些Web服务器配置下,主机名后的URL部分被分成脚本前缀部分和路径信息部分。path_info无论使用什么Web服务器,该属性始终包含路径的路径信息部分。使用此代替path可以使代码更容易在测试和部署服务器之间移动。

    例如,如果WSGIScriptAlias你的应用程序设置为 "/minfo",则path可能是"/minfo/music/bands/the_beatles/" , path_info 会是 "/music/bands/the_beatles/"。

  • HttpRequest.method:

    表示请求中使用的HTTP方法的字符串,是大写的。例如:

  • HttpRequest.encoding:

    表示当前编码的字符串,用于解码表单提交数据(或者None,表示使用该DEFAULT_CHARSET设置)。

    可以设置此属性来更改访问表单数据时使用的编码,修改后,后续的属性访问(例如读取GET或POST)将使用新encoding值。

  • HttpRequest.content_type:

    表示请求的MIME类型的字符串,从CONTENT_TYPE解析 。

  • HttpRequest.content_params:

    包含在CONTENT_TYPE 标题中的键/值参数字典。

  • HttpRequest.GET:

    包含所有给定的HTTP GET参数的类似字典的对象。请参阅QueryDict下面的文档。

  • HttpRequest.POST:

    包含所有给定HTTP POST参数的类似字典的对象,前提是请求包含表单数据。请参阅QueryDict文档。POST不包含文件信息,文件信息请见FILES。

  • HttpRequest.COOKIES:

    包含所有Cookie的字典,键和值是字符串。

  • HttpRequest.FILES:

    包含所有上传文件的类似字典的对象

  • HttpRequest.META:

    包含所有可用HTTP meta的字典

中间件设置的属性:

Django的contrib应用程序中包含的一些中间件在请求中设置了属性。如果在请求中看不到该属性,请确保使用了相应的中间件类MIDDLEWARE。

  • HttpRequest.session:

    来自SessionMiddleware:代表当前会话的可读写字典对象。

  • HttpRequest.site:

    来自CurrentSiteMiddleware: 代表当前网站的实例Site或 RequestSite返回get_current_site()

  • HttpRequest.user:

    来自AuthenticationMiddleware:AUTH_USER_MODEL代表当前登录用户的实例

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2