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="< ...
随机推荐
- Leetcode: Minimum Domino Rotations For Equal Row
In a row of dominoes, A[i] and B[i] represent the top and bottom halves of the i-th domino. (A domin ...
- Flutter Navigator&Router(导航与路由)
参考地址:https://www.jianshu.com/p/b9d6ec92926f 在我们Flutter中,页面之间的跳转与数据传递使用的是Navigator.push和Navigator.pop ...
- ES6深入浅出-13 Proxy 与 Reflect-2.Proxy 代理
阮一峰http://es6.ruanyifeng.com/#docs/proxy MDN https://developer.mozilla.org/zh-CN/docs/Web/JavaScript ...
- android多图选择器 图片/视频 单选or多选,以及视频录制。
PictureSelector 最近项目中用到多图选择上传的需求,考虑到android机型众多问题就自己花时间写了一个,测试了大概60款机型,出现过一些问题也都一一修复了,基本上稳定了特分享出来,界面 ...
- 【430】BST and Splay Tree
参考:Hello, Splay! 目录: 1. Binary Search Tree 2. Splay Tree
- 深入理解JVM+G1+GC.pdf (中文版带书签)
目录 序 VII前言 IX 第1章 JVM & GC基础知识 11.1 引言 21.2 基本术语 31.2.1 Java相关术语 41.2.2 JVM/GC通用术语 241.2.3 G1涉及术 ...
- centos7 gcc升级
1. 安装必备 yum groupinstall "Development Tools" yum install glibc-static libstdc++-static 2 ...
- java 特殊字符处理
// 去除富文本中的html标签 // <p>段落替换为换行 content = content.replaceAll("<p .*?>", "\ ...
- layer实现鼠标悬浮效果
; $(document).on('mouseenter', '.layer_hover', function(){ var words = $(this).data('words'); tip_in ...
- C++高精度整数加减乘除模板
其中高精度乘法通过了POJ2389,其他没有测过,不过应该是没有问题的. 其中高精度除法返回一对string,分别表示商和余数. 代码: #include <bits/stdc++.h> ...