django.http.request中HttpRequest对象的一些属性与方法
|
HttpRequest对象的属性 |
|
|
属性 |
描述 |
|
path |
表示提交请求页面完整地址的字符串,不包括域名,如 "/music/bands/the_beatles/"。 |
|
method |
表示提交请求使用的HTTP方法。它总是大写的。例如: if request.method == 'GET': do_something() elif request.method == 'POST': do_something_else() |
|
GET |
一个类字典对象,包含所有的HTTP的GET参数的信息。见 QueryDict 文档。 |
|
POST |
一个类字典对象,包含所有的HTTP的POST参数的信息。见 QueryDict 文档。 通过POST提交的请求有可能包含一个空的 POST 字典,也就是说, 一个通过POST方法提交的表单可能不包含数据。因此,不应该使用 if request.POST 来判断POST方法的使用,而是使用 if request.method == "POST" (见表中的 method 条目)。 注意: POST 并 不 包含文件上传信息。见 FILES 。 |
|
REQUEST |
为了方便而创建,这是一个类字典对象,先搜索 POST ,再搜索 GET 。 灵感来自于PHP的 $_REQEUST 。 例如, 若 GET = {"name": "john"} , POST = {"age": '34'} ,REQUEST["name"] 会是 "john" , REQUEST["age"] 会是 "34" 。 强烈建议使用 GET 和 POST ,而不是 REQUEST 。这是为了向前兼容和更清楚的表示。 |
|
COOKIES |
一个标准的Python字典,包含所有cookie。键和值都是字符串。cookie使用的更多信息见第12章。 |
|
FILES |
一个类字典对象,包含所有上传的文件。 FILES 的键来自 <input type="file" name="" /> 中的 name 。 FILES 的值是一个标准的Python字典,包含以下三个键: filename :字符串,表示上传文件的文件名。 content-type :上传文件的内容类型。 content :上传文件的原始内容。 注意 FILES 只在请求的方法是 POST ,并且提交的 <form> 包含enctype="multipart/form-data" 时才包含数据。否则, FILES 只是一个空的类字典对象。 |
|
META |
一个标准的Python字典,包含所有有效的HTTP头信息。有效的头信息与客户端和服务器有关。这里有几个例子: CONTENT_LENGTH CONTENT_TYPE QUERY_STRING :未解析的原始请求字符串。 REMOTE_ADDR :客户端IP地址。 REMOTE_HOST :客户端主机名。 SERVER_NAME :服务器主机名。 SERVER_PORT :服务器端口号。 在 META 中有效的任一HTTP头信息都是带有 HTTP_ 前缀的键,例如: HTTP_ACCEPT_ENCODING HTTP_ACCEPT_LANGUAGE HTTP_HOST :客户端发送的 Host 头信息。 HTTP_REFERER :被指向的页面,如果存在的。 HTTP_USER_AGENT :客户端的user-agent字符串。 HTTP_X_BENDER : X-Bender 头信息的值,如果已设的话。 |
|
user |
一个 django.contrib.auth.models.User 对象表示当前登录用户。 若当前用户尚未登录, user 会设为 django.contrib.auth.models.AnonymousUser 的一个实例。可以将它们与 is_authenticated() 区别开: if request.user.is_authenticated(): # Do something for logged-in users. else: # Do something for anonymous users. user 仅当Django激活 AuthenticationMiddleware 时有效。 关于认证和用户的完整细节,见第12章。 |
|
session |
一个可读写的类字典对象,表示当前session。仅当Django已激活session支持时有效。见第12章。 |
|
raw_post_data |
POST的原始数据。 用于对数据的复杂处理。 |
|
HttpRequest 的方法 |
|
|
方法 |
描述 |
|
__getitem__(key) |
请求所给键的GET/POST值,先查找POST,然后是GET。若键不存在,则引发异常KeyError 。 该方法使用户可以以访问字典的方式来访问一个 HttpRequest 实例。 例如, request["foo"] 和先检查 request.POST["foo"] 再检查request.GET["foo"] 一样。 |
|
has_key() |
返回 True 或 False ,标识 request.GET 或 request.POST 是否包含所给的键。 |
|
get_full_path() |
返回 path ,若请求字符串有效,则附加于其后。例如,"/music/bands/the_beatles/?print=true" 。 |
|
is_secure() |
如果请求是安全的,则返回 True 。也就是说,请求是以HTTPS的形式提交的。 |
django.http.request中HttpRequest对象的一些属性与方法的更多相关文章
- django.http.request中QueryDict 对象
在一个 HttpRequest 对象中, GET 和 POST 属性都是 django.http.QueryDict 的实例. QueryDict 是一个类似于字典的类,专门用来处理用一个键的多值.当 ...
- js中Math对象常用的属性和方法
1 Math对象 1.1定义:Math是js的一个内置对象,它提供了一些数学方法. 1.2特性:不能用构造函数的方式创建,无法初始化,只有静态属性和方法 1.3静态属性 1.3.1 Math.PI 圆 ...
- dom对象常用的属性和方法有哪些?
dom对象常用的属性和方法有哪些? 一.总结 一句话总结: 1.document属性和方法:document的属性有head,body之类,方法有各种获取element的方法 2.element的属性 ...
- 通过supper()有参构造器,完成子类对象调用父类属性的方法,并完成赋值
package com.Summer_0426.cn; /** * @author Summer * 通过supper()有参构造器,完成子类对象调用父类属性的方法,并完成赋值 * */ public ...
- JavaScript中易混淆的DOM属性及方法对比
JavaScript中易混淆的DOM属性及方法对比 ParentNode.children VS Node.prototype.childNodes ParentNode.children:该属性继承 ...
- Django使用request和response对象
当请求一张页面时,Django把请求的metadata数据包装成一个HttpRequest对象,然后Django加载合适的view方法,把这个HttpRequest 对象作为第一个参数传给view方法 ...
- python request(HttpRequest对象)请求的属性、方法笔记
1.属性 path:表示提交请求页面完整地址的字符串,不包括域名,如"/music/bands/the_beatles/". method:表示提交请求使用的HTTP方法.(GET ...
- django的orm中F对象的使用
今天不巧就用上了. 就是将数据库的字段,自增1的场景. from django.db.models import F DeployPool.objects.filter(name=deployvers ...
- Js获取request中的对象的属相值
将这个值放在页面上.再取出来. 在body中定义隐藏属性的input按钮来接收request中的值: <input type="hidden" value="< ...
随机推荐
- Error-ASP.NET:由于未能找到 id 为“FileUpload1$gvFiles$ctl02$lnkBtnRemoveFile”的控件或在回发后将同一 ID 分配给另一个控件,导致发生错误。如果未分配 ID,请显式设置引发回发事件的控件的 ID 属性以避免此错误。
ylbtech-Error-ASP.NET:由于未能找到 id 为“FileUpload1$gvFiles$ctl02$lnkBtnRemoveFile”的控件或在回发后将同一 ID 分配给另一个控件 ...
- Android Support v4、v7、v13、v14、v17的区别和应用场景
Android Support v4.v7.v13.v14.v17的区别和应用场景 本文链接:https://blog.csdn.net/Aquarius_Seven/article/detail ...
- c# 验证
public class RegularExpressionsHelper { /// <summary> /// 对用户名进行格式进行检查的正则表达式 /// </summary& ...
- Mac 快速进入mysql命令行
1.终端输入进入bin 目录 cd /usr/local/mysql/bin/ 2.mysql登录,输入密码即可 ./mysql -uroot -p 前提:mysql 服务已启动
- 如何解决Access操作或事件已被禁用模式阻止
操作或事件已被禁用模式阻止.本来是Access安全设置的一部分,可以防止一些危险性的宏自动运行损坏数据,但是如果是自己在设计或是修改Access数据库的时候,这个就比较烦人了,一次次的提示,每次都需要 ...
- Spring cloud微服务安全实战-3-1 API安全 常见的安全机制
不考虑微服务这种复杂的环境下,只是写一个简单的api的时候,如何来保证api的安全. 什么是API
- Spring Cloud简介 4.1
什么是Spring Cloud Spring Cloud是在Spring Boot的基础上构建的,用于简化分布式系统构建的工具集.该工具集为微服务架构中所涉及的配置管理.服务发现.智能路由.断路器.微 ...
- hdu 2018 母牛的故事 动态规划入门题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2018 设 f[i][j] 表示第i天年龄为j的母牛个数,其中j=4代表所有年龄达到4岁的成年母牛,则: ...
- 【Leetcode_easy】867. Transpose Matrix
problem 867. Transpose Matrix solution: class Solution { public: vector<vector<int>> tra ...
- 使用mousedown、mousemove、mouseup实现拖拽效果
如何实现一个元素的拖拽效果,使用原生的js实现,习惯了jquery的同学们,你们自己写了吗?N久使用mvvm框架,不写jquery的东西,感觉自己完全不会了. 话不多说,直接上code.本例子以简单的 ...