属性介绍

常见属性

  • 下面除非特别说明,属性都是只读的
  • path:一个字符串,表示请求的页面的完整路径,不包含域名
  • method:一个字符串,表示请求使用的HTTP方法,常用值包括:GETPOST
    • 在浏览器中给出地址发出请求采用get方式,如超链接
    • 在浏览器中点击表单的提交按钮发起请求,如果表单的method设置为post则为post请求
  • GET:一个类似于字典的QueryDict对象
    • 包含get请求方式的所有参数,?后面的内容
  • POST:一个类似于字典的QueryDict对象
    • 包含post请求方式的所有参数
  • FILES:一个类似于字典的QueryDict对象,包含所有的上传文件
  • COOKIES:一个标准的Python字典,包含所有的cookie,键和值都为字符串
  • encoding:一个字符串,表示提交的数据的编码方式
    • 如果为None则表示使用浏览器的默认设置,一般为utf-8
    • 这个属性是可写的,可以通过修改它来修改访问表单数据使用的编码,接下来对属性的任何访问将使用新的encoding值
  • session:一个既可读又可写的类似于字典的对象,表示当前的会话,只有当Django 启用会话的支持时才可用,详细内容见“状态保持”

获取属性

演示属性 pathmethodGET

  • 配置URLconf

    • http://127.0.0.1:8000/property/
    • http://127.0.0.1:8000/property/?a=10

        url(r'^property/$', views.property),
      
  • 视图

      def property(request):
          # 获取request属性,构造上下文
          context = {'path':request.path,'method':request.method,'GET':request.GET}
          return render(request, 'Book/property.html', context)
    
  • 模板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>请求对象属性</title>
</head>
<body>

    请求路径 <h1>{{ path }}</h1>

    请求方法 <h1>{{ method }}</h1>

    GET属性 <h1>{{ GET }}</h1>

</body>
</html>
  • 结果