【Django】HttpRequest对象和QueryDict对象的常用属性或方法

1.HttpRequest对象

Django里有一个HttpRequest对象,经常会在视图函数出现,而且是以第一个参数(即request)传入

HttpRequest对象有很多属性和方法,我们可以看一下比较常用的

属性 说明
HttpRequest.method 请求的方法,例如GET、POST
HttpRequest.GET GET请求的数据(QueryDict),可通过get()取出
HttpRequest.POST POST请求的数据,同上
HttpRequest.META 请求的头部信息
HttpRequest.body 请求体,会保留最原始的二进制数据,一般是非表单数据,表单数据可以通过request.POST.get()提取
HttpRequest.scheme 请求的协议类型,比如http、https
HttpRequest.path 请求的路径,不包括协议、域名和查询参数
HttpRequest.encoding 提交的表单的编码
HttpRequest.FILES 上传文件的字典对象
HttpRequest.COOKIES 包含所有cookies的标准Python字典对象
HttpRequest.session 代表会话,唯一可读写的属性
HttpRequest.user 用户,未登录用户是AnonymousUser
方法 说明
HttpRequest.has_key() 查看请求中是否有某个参数
HttpRequest.is_secure() 是否安全,即是否HTTPS协议
HttpRequest.get_full_path() 获取全路径,不包括域名,包括查询参数
HttpRequest.get_host() 获取客户端主机地址
HttpRequest.get_port() 获取客户端的端口
HttpRequest.is_ajax() 是否ajax请求

2.QueryDict对象

QueryDict是一个类似于字典的对象,实际上它就是继承字典的,与字典不同的是,QueryDict同一个键可以存储多个值

在Django的视图函数中request.GET或request.POST返回的就是一个QueryDict对象

QueryDict对象是不可以更改的,若要获得可变的版本,需要使用调用copy()方法

方法 说明
QueryDict.get() 获取键对应的值,如果key对应多个value,get()返回最后一个
QueryDict.copy() 返回一个深拷贝的对象
QueryDict.keys() 返回所有键
QueryDict.values() 返回所有值,若值重复,则返回最后一个值
QueryDict.items() 返回所有键值,若一个键有重复值,只返回最后一个值
QueryDict.lists() 返回键以及该键对应的所有值

猜你喜欢

转载自blog.csdn.net/qq_39147299/article/details/108266607