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 即跨站请求伪装,就是通常所说的钓鱼网站. 钓鱼网站的页面和正经网站的页面对浏览器来说有什么区别? (页面是怎么来的? ...
随机推荐
- 更改pip源至国内镜像
更改pip源至国内镜像 经常在使用Python的时候需要安装各种模块,而pip是很强大的模块安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以我们最好是将自己使用的pip源更换一下,这样 ...
- Cppcheck - A tool for static C/C++ code analysis
cppcheck是一个个检测源码的工具,对编译工具的一个补充,mark Cppcheck - A tool for static C/C++ code analysis Syntax: cppchec ...
- python格式化日期
#!/usr/bin/python # -*- coding: UTF-8 -*- import time import calendar """ 时间元组(年.月.日. ...
- springMVC中对HTTP请求form data和request payload两种数据发送块的后台接收方式
最近在做项目中发现,前台提交数据时,如果通过form表单提交和ajax发送json时,springMVC后台接收不能都通过@ModelAttribute方式处理,经过一番查找后,ajax发送json请 ...
- 转:Java工程师成神之路~(2018修订版)
转: http://www.hollischuang.com/archives/489 阿里大牛珍藏架构资料,点击链接免费获取 针对本文,博主最近在写<成神之路系列文章> ,分章分节介绍所 ...
- Matlab、R向量与矩阵操作 z
已有 1849 次阅读 2012-8-2 15:15 |系统分类:科研笔记|关键词:矩阵 480 window border center Matlab.R向量与矩阵操作 描 述 Matla ...
- java字符串根据空格截取并存进list,并在每个元素前后加上/
public class List1 { public static void main(String[] args) { String s = "abc nnn ooo/xzsxc bs& ...
- Java 集成开发环境的介绍及下载
集成开发环境(integrated development environment,JDE) 之前成功运行了Java小程序是经历了先在笔记本中编写源代码,然后通过命令行运行打开javac编译源文件, ...
- [leetcode整理]
=======简单 leetcode164 Maximum Gap sort两次 =======有参考 330 Patching Array 98 Validate Binary Search Tre ...
- 安装babel
http://jamesknelson.com/using-es6-in-the-browser-with-babel-6-and-webpack/