Django-服务器端对象

本文介绍了Django中处理服务器端请求的方法,包括通过request获取HTTP方法、数据和Header信息,关注了POST提交时的注意事项,如CSRF验证和Header键的格式。此外,详细讲解了HttpResponse、JsonResponse、HttpResponseRedirect的用法,以及如何处理URL参数和重定向。同时,提到了Django的序列化和文件上传,并简单提及了中间件及其执行流程。
摘要由CSDN通过智能技术生成

Django-服务器端对象

  1. request

    通过request.method可以查看提交方式

  2. request 解析数据

    1. get

       request.environ
       request.GET
       
       #如果提交数据方式为:
       http://localhost:8080/position/12/?name=tom&pass=123
       
       获取方式:
       
       request.GET.get('name')
       request.GET['pass']
      
    2. post

      a. post数据为form-data或者x-www-urlencoded

           if request.method=='POST':
               id=request.POST.get('id')
               
               #当客户端数据为{‘key’:[1,3,6,7]} 时(发送数据需加:tranditional:true),
               list=request.POST.getlist('do')
               password=request.POST['password']
      

      b. post数据为json

        if request.method=='POST':
       	
       	
           data=json.loads(request.body)
      
           id=data['id']
           password=data['password']
      
  3. 获取Header中的信息

    1. request.META.get(“header key”) 用于获取header的信息

    2. 注意的是header key必须增加前缀HTTP,同时大写,例如你的key为username,那么应该写成:request.META.get(“HTTP_USERNAME”)

    3. 另外就是当你的header key中带有中横线,那么自动会被转成下划线,例如my-user的写成: request.META.get(“HTTP_MY_USER”)

       	token=request.META.get('HTTP_TOKEN')
       	print(token)
      

    注意post提交出错

    1. url最后应该加/ 如:http://localhost:8080/position/add/

    2. settings.py中可能要注释掉:# ‘django.middleware.csrf.CsrfVie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值