博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django中HtttpRequest请求
阅读量:4318 次
发布时间:2019-06-06

本文共 1426 字,大约阅读时间需要 4 分钟。

1.什么是HttpRequest

  HttpRequest,就是对请求对象的封装,里面封装的是请求过程中的所有信息。在Django中HttpRequest被封装成request对象并封装到视图处理函数中,在调用视图时自动传入
2.HttpRequest中的主要内容

  可以使用print(dir(request))查看里面所有的属性及方法。

  1.request.scheme : 请求协议
  2.request.body : 请求主体
  3.request.path : 请求路径
  4.request.get_full_path() : 请求完整的请求路径
  5.request.get_host() : 请求的主机地址 / 域名
  6.request.method : 主要用于判断是否是“GET”或是“POST”方法
  7.request.GET : 封装了get请求方式所提交的数据
  8.request.POST : 封装了post请求方式所提交的数据
  9.request.COOKIES : 封装了 cookies 中的所有数据
  10.request.META : 封装了请求的元数据
    request.META.HTTP_REFERER : 封装了请求的源地址

3.获取请求提交的数据

  1.get 请求
    1.获取数据
      request.GET['名称']
      request.GET.get('名称')
      request.GET.getlist('名称')
    2.使用get方式提交数据的场合
      1.表单中 method 为get 的时候
      2.地址栏上拼查询字符串的时候
        http://localhost:8000/01-request/?id=1&name=xxx

      注意:

        url(r'^01-request/(\d{4})/(\d{1,})',xxx)
        http://localhost:8000/01-request/2018/10

        以上方式提交的数据不能使用request.GET来获取,因为以上的方式是 Django 标准而并非 HTTP 标准

  2.post 请求

    1.获取数据
      request.POST['名称']
      request.POST.get('名称')
      request.POST.getlist('名称')
    2.使用POST方式提交数据的场合
      1.使用表单提交时可以使用post
    3.CSRF verification failed (403)
      CSRF : Cross-Site Request Forgery
          跨站点       请求          伪装
    解决方案:
    1.取消csrf的验证:删除 settings.py中 MIDDLEWARE 中的 CsrfViewMiddleware 中间件
    2.在处理函数上增加装饰器:@csrf_protect
    3.可以在 表单中的 第一行增加:{% csrf_token %}

转载于:https://www.cnblogs.com/zengsf/p/9986401.html

你可能感兴趣的文章
cookie
查看>>
二级图片导航菜单
查看>>
<Using parquet with impala>
查看>>
07-Java 中的IO操作
查看>>
uclibc,eglibc,glibc之间的区别和联系【转】
查看>>
Java魔法堂:找外援的利器——Runtime.exec详解
查看>>
mysql数据库存放路径
查看>>
TestNG(五)常用元素的操作
查看>>
解决 Visual Studio 点击添加引用无反应的问题
查看>>
通过镜像下载Android系统源码
查看>>
python字符串格式化 %操作符 {}操作符---总结
查看>>
windows 不能在 本地计算机 启动 Apache
查看>>
iOS开发报duplicate symbols for architecture x86_64错误的问题
查看>>
Chap-6 6.4.2 堆和栈
查看>>
【Java学习笔记之九】java二维数组及其多维数组的内存应用拓展延伸
查看>>
C# MySql 连接
查看>>
div+css教程网站建设门户网站和电子商务网站CSS样式表
查看>>
sk_buff Structure
查看>>
oracle的级联更新、删除
查看>>
多浏览器开发需要注意的问题之一
查看>>