目录
-
HttpRequest
'''服务器接收到http请求后,django框架会自动根据服务器传递的环境变量创建 HttpRequest对象 视图的第1个参数必须是HttpRequest类型的对象 在django.http模块中定义了HttpRequest对象的API 使用HttpRequest对象的不同属性值,可以获取请求中多种信息 views.py:''' from django.shortcuts import render, redirect # 视图函数第一个参数就请求对象,由django传递 def get_phone(request,phone): # request常用属性 # get传参的获取 # print(request.GET) # GET quersetDict # # 获取单一值 # print(request.GET.get('username')) # print(request.GET.getlist('age')) # 返回值是一个列表 ['20', '23'] # POST # print(request.POST.get('username')) # print(request.POST.getlist('hobby')) # 获取请求方法 print(request.method) # 返回方法是大写的GET\POST # 获取请求路径 print(request.path) # 其他请求属性 # print(request.META) # # # 客户端地址 # print(request.META.get('REMOTE_ADDR')) # # # 来源页面 # print(request.META.get('HTTP_REFERER')) # 常用方法 print(request.get_full_path()) #/user/tel/12345678/?name=2222 print(request.get_host()) #127.0.0.1:9012 print(request.build_absolute_uri()) #http://127.0.0.1:9012/user/tel/12345678/?name=2222 # 获取请求参数的字典 QueryDict=>dict print(request.GET.dict()) # {'name': '2222'} return HttpResponse(phone) # 返回给用户的是响应对象
-
QueryDict
'''HttpRequest中QueryDict是不可变的,只能获取值,不能修改 QueryDict键值对都是字符串 QueryDict中1个键可以对应多个值''' #QueryDict {'hobby':['打篮球','玩游戏','k歌'],'name':['tom'],'age':'21'} # 1.判断get或post请求中包含指定键 if 'name' in req.GET # to do # 2.获取get或post请求中指定键对应的单⼀值 print(req.GET.get('name','名')) print(req.GET['name']) #两种的区别,如果用下标,键不存在,则包keyerror,get方法则会得到默认 值,如果没有默认值则返回None #3 获取指定键对应的多个值(列表) print(req.GET.getlist('name')) #4 获取所有键值对 for x in req.GET.lists(): print(x)