Django——视图——HttpRequest

目录

  1. HttpRequest
  2. QueryDict

 

  1. 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)  # 返回给用户的是响应对象
    

     

  2. 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)

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值