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

从百度查到在django中,使用post方法时,需要先生成随机码, 以防止CSRF(Cross-site request forgery)跨站请求伪造,并稍加修改:
注:这是一个js文件,需要引入到html模板中:
这样做比使用 {% 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方法时,需要增加csrftoken)