从百度查到在django中,使用post方法时,需要先生成随机码,以防止CSRF(Cross-site request forgery)跨站请求伪造,并稍加修改:
注:这是一个js文件,需要引入到html模板中:<script src="/static/javascript/post_need_csrftoken.js"></script>
这样做比使用{% csrf_token %}方便
$(function () { $.ajaxSetup({ headers: { "X-CSRFToken": getCookie("csrftoken") } }); }); // 为防止CSRF(Cross-site request forgery)跨站请求伪造,发post请求时需要在cookie中创建随机码 function getCookie(name) { var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); /* 上面这句话相当于: var arr; var reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); */ if(arr=document.cookie.match(reg)) return decodeURI(arr[2]); //ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它, // 因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。 else return null; }
补充知识:Django解决前端/客户端POST失败提示csrf_tokenxxx的问题
解决:把settings.py里把MIDDLEWARE中的
django.middleware.csrf.CsrfViewMiddleware
删除掉就好了
如果你不想删除,并且你是web端的话,在form表单里加一句 {%csrf_token%} 就好了
<form> {%csrf_token%} <!-- 其它代码 --> </form>
这个CRSF主要也是起一种保护验证的作用,看个人需要来保留吧
如果是安卓或者其它端,建议之间采取前者把那行代码删掉就行了
以上这篇在django中使用post方法时,需要增加csrftoken的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
本文向大家介绍django中使用POST方法获取POST数据,包括了django中使用POST方法获取POST数据的使用技巧和注意事项,需要的朋友参考一下 在django中获取post数据,首先要规定post发送的数据类型是什么。 1.获取POST中表单键值数据 如果要在django的POST方法中获取表单数据,则在客户端使用JavaScript发送POST数据前,定义post请求头中的请求数据类
Stacktrace: 界面: 我的应用程序在调试(在虚拟和真实设备上)上运行良好,但在发布构建后,它在任何地方都无法运行(因为改型会引发错误)。我尝试了所有存在的方法来修复它,但任何一种都不起作用。 我的进口商品很好 我添加了守卫规则:
假设我有以下代码: 是否有可能在中调用来自的的编译器错误?我知道实际上你会把那个方法放在构造函数中,但这个问题是出于好奇。
本文向大家介绍在Perl中使用POST方法,包括了在Perl中使用POST方法的使用技巧和注意事项,需要的朋友参考一下 将信息传递到CGI程序的一种更可靠的方法是 POST方法。这将以与GET方法完全相同的方式打包信息,但不是在?之后将其作为文本字符串发送。在URL中,它将作为单独的消息作为HTTP标头的一部分发送。Web服务器以标准输入的形式将此消息提供给CGI脚本。 以下是Perl脚本hell
本文向大家介绍jquery中post方法用法实例,包括了jquery中post方法用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery中post方法的用法,分享给大家供大家参考。具体用法分析如下: 在使用jquery实现网站的异步交互时,常用的两个函数为get和post方法,get方法使用很简单,直接提交get请求即可,如果有参数,直接追加到url后面就行,但是使用post
本文向大家介绍Django添加sitemap的方法示例,包括了Django添加sitemap的方法示例的使用技巧和注意事项,需要的朋友参考一下 sitemap是 Google 最先引入的网站地图协议,采用 XML 格式,它的作用简而言之就是优化搜索引擎的索引效率,详细的解释可以参考百度百科 。 下面介绍下如何为Django站点添加sitemap功能。 1、启用sitemap 在django的set
我知道在StackOverflow上有许多关于这个主题的问题。但我仍然有点困惑,不确定何时使用这些操作。我在为考试做准备时正在经历旧的考试。其中一个方法返回残障、可访问和可用教室的数量。我写了counter方法,但不确定我应该对计数器进行预增量还是后增量。我对它如何与方法中的return语句一起工作感到困惑。我仍然没有得到该方法将在下面返回的值。其他问题没有在方法中显示返回值,因此我对它实际上是如