Django 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的形式提交的。

时间: 2024-10-12 09:37:32

Django HttpRequest对象的一些属性与方法的相关文章

django HttpRequest对象

每当一个用户请求发送过来,Django将HTTP数据包中的相关内容,打包成为一个HttpRequest对象,并传递给每个视图函数作为第一位置参数,也就是request,供我们调用. HttpRequest对象中包含了非常多的重要的信息和数据,应该熟练掌握它. 类定义:class HttpRequest[source] 一.属性 HttpRequest对象的大部分属性是只读的,除非特别注明. 1. HttpRequest.scheme 字符串类型,表示请求的协议种类,'http'或'https'.

js内置对象Math的属性和方法

属性: constructor 所建立对象的函数参考 prototype 能够为对象加入的属性和方法 E 欧拉常量,自然对数的底(约等于2.718) LN2 2的自然对数(约等于0.693) LN10 10的自然对数(约等于2.302) LOG2E 以2为底的e的对数.(约等于1.442) LOG10E 以10为底的e的对数(约等于0.434) PI ∏的值(约等于3.14159) SQRT1_2 1/2(0.5)的平方根(即l除以2的平方根,约等于o.707) SQRT2 2的平方根(约等于1

通过supper()有参构造器,完成子类对象调用父类属性的方法,并完成赋值

package com.Summer_0426.cn; /** * @author Summer * 通过supper()有参构造器,完成子类对象调用父类属性的方法,并完成赋值 * */ public class Test01 { public static void main(String[] args) { JavaTeacher guoxiang = new JavaTeacher("郭襄");//子类实例化,并传入参数 guoxiang.giveLesson();//输出结果,

jQuery源码解析(jQuery对象的实例属性和方法)

1.记录版本号 以及 修正constructor指向 jquery: core_version, constructor: jQuery, 因为jQuery.prototype={ ... } 这种写法将自动生成的jQuery.prototype.constructor属性覆盖删除,所以需要重新修正(指向其构造函数 jQuery).2.init() 初始化方法: init()方法最终返回的是this -jQuery(其实是jQuery.prototype.init)方法的实例对象. 实例对象继承

访问对象中的属性与方法

访问对象中的属性: 引用名称.属性名称 访问对象中的方法: 引用名称.方法名称() 1 //第一步:编写类 2 class Student{ 3 //第二步:编写属性也叫做成员变量或实例(对象)变量 4 String name; //默认值为null 5 int age; //默认值为0 6 char sex; //默认值为\u0000 7 String address; //默认值为null 8 9 //第三步:编写方法 10 public void study(){ 11 System.ou

事件注册 DOM事件流 事件对象(常用属性,方法) 事件委派(鼠标,键盘事件对象)

注册事件概述 给元素添加事件,称为注册事件或者绑定事件 注册事件有两种方式:传统方式和方法监听注册方式 传统注册方式:利用 on 开头的事件:例如:onclick:注册事件的唯一性,后面的注册事件会把前面的覆盖 方法监听注册方式:addEventListener()IE9+:IE9以前用 attacthEvent()代替:会按照注册顺序依次执行没有唯一性的问题 addEventListener() 事件监听方式 eventTarget.addEventListener(type, listene

【JavaScript】浅析JavaScript对象如何添加属性和方法

向JavaScript类中添加属性和方法,最直观的做法就是在类中定义属性和方法.JavaScript是一门弱语言,除了直接定义还可以用prototype来添加. 下面介绍从外部向JavaScript添加属性和方法的四种方法,首先定义一个类 function MyClass(){} 1,使用类名添加属性 MyClass.prototype.myname="吴兴国01"; 2,使用类名添加方法 MyClass.prototype.myfunc=function(){alert("

JavaScript中内置对象的一些属性及方法

Javascript对象总结 JS中内置了17个对象,常用的是Array对象.Date对象.正则表达式对象.string对象.Global对象 Array对象中常用方法: Concat():表示把几个数组合并成一个数组. Join():返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来. Pop():移除数组最后一个元素. Shift():移除数组中第一个元素. unshift():在数组的第一项Slice(start,end):返回数组中的一段. Push():往数

form表单的应用:form对象自带属性和方法及提交时提交的数据.....

1.html中含有form表单 (1)html <form id="picLoad" class="lt" style="width: 230px;" enctype="multipart/form-data"> <label> <div class="upload">上传图片</div> <input id="doc-form-file&qu