在django中使用post方法时,需要增加csrftoken的例子

 更新时间:2020年03月13日 14:33:08   作者:梓沂  
这篇文章主要介绍了在django中使用post方法时,需要增加csrftoken的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

从百度查到在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的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 关于numpy中eye和identity的区别详解

    关于numpy中eye和identity的区别详解

    今天小编就为大家分享一篇关于numpy中eye和identity的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python中join函数简单代码示例

    Python中join函数简单代码示例

    这篇文章主要介绍了Python中join函数简单代码示例,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Python+tkinter实现树形图绘制

    Python+tkinter实现树形图绘制

    Treeview是ttk中的树形表组件,功能十分强大,非常适用于系统路径的表达,下面我们就来看看如何利用这一组件实现树形图的绘制吧,有需要的可以参考下
    2023-09-09
  • python实现多层感知器MLP(基于双月数据集)

    python实现多层感知器MLP(基于双月数据集)

    这篇文章主要为大家详细介绍了python实现多层感知器MLP,基于双月数据集,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • 基于Python实现定时自动给微信好友发送天气预报

    基于Python实现定时自动给微信好友发送天气预报

    这篇文章主要介绍了基于Python实现定时自动给微信好友发送天气预报的实现代码,,需要的朋友可以参考下
    2018-10-10
  • python导入库的具体方法

    python导入库的具体方法

    在本篇内容里小编给大家分享的是关于python如何导入库的步骤和方法,有需要的朋友们可以学习下。
    2020-06-06
  • 初学python数学建模之数据导入(小白篇)

    初学python数学建模之数据导入(小白篇)

    本篇文章是小白篇初学python的同学可以来共同学习了,本篇文章主要讲解了python数学建模过程中的第一步数据导入,数据导入是所有数模编程的第一步,比你想象的更重要
    2021-08-08
  • Django如何实现网站注册用户邮箱验证功能

    Django如何实现网站注册用户邮箱验证功能

    这篇文章主要介绍了Django如何实现网站注册用户邮箱验证功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • python对矩阵进行转置的2种处理方法

    python对矩阵进行转置的2种处理方法

    这篇文章主要介绍了python对矩阵进行转置的2种处理方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python 爬虫之超链接 url中含有中文出错及解决办法

    Python 爬虫之超链接 url中含有中文出错及解决办法

    这篇文章主要介绍了Python 爬虫之超链接 url中含有中文出错及解决办法的相关资料,出现UnicodeEncodeError: 'ascii' codec can't encode characters,的错误解决办法,需要的朋友可以参考下
    2017-08-08

最新评论