当前位置:   article > 正文

Django - HttpRequest_django request.http_host

django request.http_host

当一个页面被请求时, Django创建一个包含请求元数据的HttpRequest对象, 然后Django调入合适的视图, 把HttpRequest作为视图函数的第一个参数传入, 每个视图都有返回一个HttpResponse对象.

HttpRequest

HttpRequest表示来自某客户端的一个单独的HTTP请求

HttpRequest对象的属性

  • path : 表示提交请求页面完整地址的字符串, 不包括域名
    • 如 : “/music/bands/the_beatles/”.
  • method : 表示提交请求使用的HTTP方法, 它是大写的.
    • 例如 : “GET,POST”
  • GET : 一个类字典对象, 包含所有的HTTP的GET参数信息
  • POST : 一个类字典对象, 包含所有的HTTP的POST参数信息
    • 通过POST提交的请求有可能包含一个空的POST字典, 也就是说, 一个通过POST方法提交的表单可能是空的. 因此不应该使用 if request.POST来判断POST方法的使用, 而是使用 if request.method == “POST” .
  • COOKIES : 一个标准的Python字典, 包含所有的cookie. 键和值都是字符串.
    FILES : 一个类字典对象, 包含所有上传的文件. FILES的键来自 <input type="file" name="" /> 中的name. FILES包含以下三个键 :
    • filename : 字符串, 表示上传文件的文件名
    • content-type : 上传文件的内容类型.
    • content : 上传文件的原始内容.
  • META : 以字典形式, 返回所有有效的HTTP头信息. 在META中有效的任一HTTP头信息都是带有HTTP_前缀的键, 例如:
    • HTTP_ACCEPT_ENCODING
    • 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():
	# 已登录的处理
else: 
	# 未登录的处理
  • 1
  • 2
  • 3
  • 4
  • session : 一个可读写的字典对象, 表示当前session.
  • raw_post_data : POST的原始数据

HttpRequest对象的方法

  • __getitem__(key) : 请求所给键的GET/POST值, 先查找POST, 然后是GET. 若键不存在, 则引发KeyError异常.
  • has_key() : 返回True或False. 标识request.GET或request.POST是否包含所给的键.
  • get_full_path() : 返回path, 若请求字符串有效, 则附加在之前的path之后, 如 : "/music/bands/home/?print=true".
  • is_secure() : 如果请求是安全的, 返回True. 也就是说请求是以HTTPS的形式提交的
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/203688
推荐阅读
相关标签
  

闽ICP备14008679号