Django中HtttpRequest请求
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 %}
Django中HtttpRequest请求的更多相关文章
- django中HttpRequest请求
视图的第一个参数必须是HttpRequest对象 在视图函数中,接收的request有如下属性: path:一个字符串,表示请求的页面的完整路径,不包含域名. method:一个字符串,表示请求使用的 ...
- Python—在Django中使用Celery
一.Django中的请求 Django Web中从一个http请求发起,到获得响应返回html页面的流程大致如下: http请求发起 经过中间件 http handling(request解析) ur ...
- python连接redis、redis字符串操作、hash操作、列表操作、其他通用操作、管道、django中使用redis
今日内容概要 python连接redis redis字符串操作 redis之hash操作 redis之列表操作 redis其他 通用操作,管道 django中使用redis 内容详细 1.python ...
- Django中请求的生命周期
1. 概述 首先我们知道HTTP请求及服务端响应中传输的所有数据都是字符串. 在Django中,当我们访问一个的url时,会通过路由匹配进入相应的html网页中. Django的请求生命周期是指当用户 ...
- django中url,静态文件,POST请求的配置 分类: Python 2015-06-01 17:00 789人阅读 评论(0) 收藏
平时使用的是pycharm,所以这篇文章主要也是使用pycharm默认创建的django项目为基础进行讲解.项目目录如下图: 1.URL的配置 当创建好项目后,运行项目就可以看到django默认的页面 ...
- Django中Celery http请求异步处理(四)
Django中Celery http请求异步处理 本章延续celery之前的系列 1.settings配置 2.编写task jib_update_task任务为更新salt jid数据 3.url设 ...
- django中视图处理请求方式(FBV、CBV)
FBV FBV(function base views) 就是在视图里使用函数处理请求. 在之前django的学习中,我们一直使用的是这种方式,所以不再赘述. CBV CBV(class base v ...
- Django中请求的生命周期 和 FBV模式和CBV模式
Django的生命周期就是你的 一个请求所发生的整个流程 Django的生命周期内到底发生了什么呢?? . 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏 ...
- Django中的CSRF(跨站请求伪造)
Django中的CSRF(跨站请求伪造) Django CSRF 什么是CSFR 即跨站请求伪装,就是通常所说的钓鱼网站. 钓鱼网站的页面和正经网站的页面对浏览器来说有什么区别? (页面是怎么来的? ...
随机推荐
- python操作文件(增、删、改、查)
内容 global log 127.0.0.1 local2 daemon maxconn 256 log 127.0.0.1 local2 info defaults log global mode ...
- asp企业网站源码部分
ASP的网页文件的格式是.asp,现在常用于各种动态网站中.PHP是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似 ...
- suffix word ard ar arian arium atic ation atory ator out ~3
1★ ard 不好的人 2★ ar ~的:~人物 1● arian ~人.物 2● arium 地点,场地 3●aster 不怎么样的人 1● ast ~人 ...
- pycharm开发工具,使用
在pycharm中,打的断点,仅在调试模式下,即debug 模式下,才有效 Use Alt + Shift + C to quickly review your recent changes to t ...
- 人机交互之QQ拼音
随着电脑系统的不断更新,电脑自带的系统输入法也越来越适应广大群众了,那为什么其他的输入法还能占有大量的用户呢? 首先系统输入法是面向大众的,个性化方面略显不足. 其次系统输入法功能不够全面,比如说手写 ...
- shutil 模块
import shutil #用于简化文件操作的模块 # f1 = open(r"D:\上海python全栈4期\day20\7.shutil模块.py","rb&quo ...
- sqlalchemy tree 树形分类 无限极分类的管理。预排序树,左右值树。sqlalchemy-mptt
简介: 无限极分类是一种比较常见的数据格式,生成组织结构,生成商品分类信息,权限管理当中的细节权限设置,都离不开无限极分类的管理. 常见的有链表式,即有一个Pid指向上级的ID,以此来设置结构.写的时 ...
- git-github-TortoiseGit综合使用教程(二)快速入门
:建立版本库 在github网站上创建一个版本库,并复制clone地址. git@github.com:jackadam1981/Flask_Base.git https://github.com/j ...
- DFS----Lake Counting (poj 2386)
Lake Counting(POJ No.2386) Description Due to recent rains, water has pooled in various places in Fa ...
- 深入理解Connector
上一篇主要是从各个容器的生命周期的角度讲了一下整个tomcat的运行流程,说明了各个容器之间的调用关系.但并没有太过详细的说明每一个组件并区分他们. 下面从功能的角度上详细的分析一下connector ...