Django——三个最关键的对象
其中有一节专门讲了File对象如何上传,然而上一次为这个文件上传苦恼了很久。
重新复习了两个关键对象
HttpRequest对象
.scheme 表示请求的方案http或者https
.body
原始HTTP请求的正文。包括GET请求的参数,POST请求的表单,媒体对象的二进制文件。
.path 表示请求页面的完整路径,不包含域名,可以用来点赞或者喜欢之后刷新原来的网页
.method HTTP请求的方法GET或者POST
.encoding 请求的编码
.GET 一个字典对象,包含HTTP GET的参数
.POST 一个类字典对象,包含了表单数据的请求。
.FILES 一个字段对象,包含所上传的文件。
.COOKIES 标准的python字典,包含所有的cookie。键和值都是字符串
.META 一个python字典,包含HTTP头部信息。
.user 一个用户对象。
.session 一个可以读写的session字典对象。
方法:
get_host()
获取主机名127.0.0.1:8000
get_full_path()
返回path和查询字符串**/music/bands/the_beatles/?print=true**
QueryDict对象
首先实现了字典所有的标准方法。
__getitem__(key)
__setitem__(key,value)
_contains_(key)
get(key,default)不存在时返回默认值
setdefault(key,default)
update(other_dict),将新的值添加到后边
items()返回字典的一个列表[(‘a’, ‘3’)]
iteritems()
iterlists()
values() 返回值的一个列表[‘3’]
itervalues() 返回一个迭代器
copy()调用python库中的deepcopy()进行神复制
getlist(key,default)以列表返回所有请求的键
appendlist(key,item)
setlistdefault(key,default_list)
lists()
pop(key)弹出
popitem()随机弹出
dict()返回dict对象
httpResponse对象
.content 一个字节字符
.charset response编码的字符串
.status_code HTTP相应状态码
.reason_phrase HTTP原因短语
.streaming 总是false
.closed 响应是否关闭
.__setitem__(header,value)设定报文首部。
.__delitem__(header)
.__getitem__(header)
.has_header(header)
.set_cookie()
.set_signed_cookie() 设置cookie,并用秘钥签名
.delete_cookie() 删除cookie
.write()
.flush()
.tell()
其子类包括以下
HttpResponseRedirect对象
HttpResponseNotModified
HttpResponsePermanentRedirect










