GET属性

提示 :

  • HttpRequest对象GET属性返回一个类似于字典的QueryDict对象
  • QueryDict对象中包含GET请求的所有请求参数
  • 根据键取值:get()getlist()

分析

  • get请求时url格式,在请求地址结尾使用?,之后以“键=值”的格式拼接,多个键值对之间以&连接

     一键一值
     http://127.0.0.1:8000/get/?a=10&b=20&c=python
    
     一键多值
     http://127.0.0.1:8000/get/?a=10&b=20&a=python
    
  • 其中get请求参数为

      一键一值
      a=10&b=20&c=python
    
      一键多值
      a=10&b=20&a=python
    

获取请求参数

  • 匹配URLconf

      # get请求的GET属性:准备测试网页
      url(r'^get/$', views.get),
      # 一键一值
      url(r'^get1/$', views.get1),
      # 一键多值
      url(r'^get2/$', views.get2),
    
  • 准备工作

      def get(request):
          # 准备模板
          return render(request, 'Book/get.html')
    

  • 一键一值

      def get1(request):
          # QueryDict类型的对象dict
          dict = request.GET
    
          a = dict.get('a')
          b = dict.get('b')
          c = dict.get('c')
    
          context = {'a': a, 'b': b, 'c':c}
          return render(request, 'Book/get1.html', context)
    

  • 一键多值

      def get2(request):
          # QueryDict类型的对象dict
          dict = request.GET
    
          # a = dict.get('a') # 返回最后一个值
          a = dict.getlist('a') # 返回所有值
          b = dict.get('b')
    
          context = {'a':a,'b':b}
          return render(request, 'Book/get2.html', context)