Django中HttpRequest常用参数介绍
HttpRequest对象常用参数介绍,以及前端不同请求方式(http方法/Content-Type类型)对应的参数获取方式。
一、HttpRequest对象
django请求对象的详细参数以及实现方式可以在django.http.request查看源码具体分析,也可以查看官方文档https://docs.djangoproject.com/en/3.0/ref/request-response/
1.属性介绍
(1) request.scheme
请求的协议种类(http/https)
(2) request.path
请求页面的完整路径(get_full_path()在path的基础上还有查询条件)
(3) request.method
请求使用的http方法(POST,GET,DELETE,PUT...)
(4) request.content_type
请求的MIME类型
(5) request.GET/request.POST
get/post请求中的所有参数,类似于字典的对象
(6) request.COOKIES
请求包含的cookie字典
(7) request.FILES
上载文件的类字典对象
(8) request.headers(Django2.2新功能)
获取请求headers里面的内容,不区分大小写,类似字典的对象
request.headers["Cotent-Length"] 请求报文中实体主体的字节大小
request.headers["Content-Type"] 请求的MIME类型
request.headers["User-Agent"] 请求的用户代理
(9) request.META
包含所有HTTP头部信息的字典
- CONTENT_LENGTH –请求正文的长度(以字符串形式)
- CONTENT_TYPE –请求正文的MIME类型
- HTTP_ACCEPT –响应可接受的内容类型
- HTTP_ACCEPT_ENCODING –响应的可接受编码
- HTTP_ACCEPT_LANGUAGE –可接受的响应语言。
- HTTP_HOST –客户端发送的HTTP Host标头
- HTTP_USER_AGENT –客户端的用户代理字符串。
- REMOTE_ADDR –客户端的IP地址。
- REMOTE_HOST –客户端的主机名
- SERVER_NAME –服务器的主机名
- SERVER_PORT –服务器的端口(以字符串形式)
- SERVER_PROTOCOL –http协议版本(HTTP/1.1)
(10) request.user
当前登录用户的实例
(11) request.session
代表当前会话的可读可写,类似于字典的对象(删除用户登录的session,request.session.delete(session_key) )
2.方法介绍
(1) request.get_host()
获取主机域名或者IP加端口号

(2) request.get_port()
请求端口号

(3) request.is_secure()
如果使用的是Https,则返回True,表示连接是安全的

(4) request.get_full_path()
带有请求参数的完整path

二、请求参数获取
1.content-type为application/json(消息主体是序列化后的json字符串)
如果当前端请求的content-type为json字符串的时候,django需要通过json.loads(request.body)来获取请求体里面的参数

2.content-type为application/x-www-form-urlencode(数据被编码为key/value,这是标准的编码格式)
(1)当请求方式为get/post
当请求方式为post/get的时候,可以直接通过request.GET.get()/request.POST.get()来直接获取请求的参数
(2)当请求方式为delete/put/patch/options...
当请求方式不为get/post的时候,在获取前端请求的参数,需要把request.body转化为QueryDict对象,然后通过get方法获取想要的参数即可(QueryDict(request.body).get())

Django中HttpRequest常用参数介绍的更多相关文章
- Django中的常用字段类型与参数
Django中的常用字段类型 1. 数值型 以下都是数值相关的,比如AutoField,它在MySQL中的类型为int(11),而BooleanField在MySQL中对应的类型是tinyint(1) ...
- Apache中 RewriteRule 规则参数介绍
Apache中 RewriteRule 规则参数介绍 摘要: Apache模块 mod_rewrite 提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求.它支持每个完整规则可以拥有不限数量 ...
- Linux下查看某个进程打开的文件数-losf工具常用参数介绍
Linux下查看某个进程打开的文件数-losf工具常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在linux操作系统中,一切皆文件.通过文件不仅仅可以访问常规数据,还 ...
- Linux系统IO分析工具之iotop常用参数介绍
Linux系统IO分析工具之iotop常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在一般运维工作中经常会遇到这么一个场景,服务器的IO负载很高(iostat中的 ...
- htaccess文件中RewriteRule 规则参数介绍
.htaccess 文件 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d Rew ...
- Linux操作系统的文件查找工具locate和find命令常用参数介绍
Linux操作系统的文件查找工具locate和find命令常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.非实时查找(数据库查找)locate工具 locate命 ...
- Production环境中iptables常用参数配置
production环境中iptables常用参数配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我相信在实际生产环境中有很多运维的兄弟跟我一样,很少用到iptables的这个 ...
- Linux系统IO分析工具之iotstat常用参数介绍
Linux系统IO分析工具之iotstat常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1>.安装iostat [root@flume115 ~]# yum - ...
- ulimit常用参数介绍
ulimit常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. ulimit 用于限制 shell 启动进程所占用的资源,支持以下各种类型的限制:所创建的内核文件的大小.进 ...
随机推荐
- 洛谷 P1891 疯狂LCM 题解
原题链接 享受推式子的乐趣吧 数论真有趣! 庆祝:数论紫题第 \(3\) 道. \[\sum_{i=1}^n \operatorname{lcm}(i,n) \] \[= \sum_{i=1}^n \ ...
- 直径问题 Diameter Problems
2019-11-03 21:37:59 一.Diameter of Binary Tree 问题描述: 问题求解: 解法一.第一反应是树上动归,每个节点保存一下左右的最大深度,最后以每个节点作为中枢计 ...
- java获取近几天的日期
最近在写接口的时候老遇见从mysql中获取近几天数据的需求,获取日期这块不是很熟,网上看了很多但是代码量都太大,还是问了下别人,写了三行代码就解决了,不多说 贴代码了 下面是我获取近十天,每天的日期: ...
- Selenium系列(九) - 针对alert窗口的处理(警告框、确认框、对话框)
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- js利用cookie登录网站
如上图,我们获取到了cookie,接下来利用cookie登录相应的网站. 我用的浏览器是火狐,首先在特定的网站(也就是我们发现XSS漏洞的网站,这里指的是pikachu)F12打开开发者工具,找到控制 ...
- Kullback-Leibler(KL)散度介绍
在这篇文章中,我们将探讨一种比较两个概率分布的方法,称为Kullback-Leibler散度(通常简称为KL散度).通常在概率和统计中,我们会用更简单的近似分布来代替观察到的数据或复杂的分布.KL散度 ...
- 3.介绍ASP.NET Core框架
介绍ASP.NET Core框架 在这篇文章中,我将要向你们简短介绍一下ASP.NET Core 框架.当今社会,当提到软件开发,每个人都是讨论着开源以及跨平台开发.总所周知,微软是以它的基于Wind ...
- 下拉框select->option中如何把参数传到视图函数中去
例子: <select name="p_id" id=""> {% for p in permissions %} <option value ...
- 关于visocode 自动保存时自动添加分号问题
先下载插件: Vueter 打开设置的配置文件,写入一下代码: // //是否需要保存时自动格式化 "editor.formatOnSave": true, //使js 文件保存 ...
- PTA数据结构与算法题目集(中文) 7-11
PTA数据结构与算法题目集(中文) 7-11 7-11 关键活动 (30 分) 假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行.“任务调度 ...