简体   繁体   English

CSRF令牌丢失或不正确(Django)

[英]CSRF token missing or incorrect (Django)

My form is created like so 我的表格是这样创建的

<form class="k-form" id="k_form" novalidate="novalidate">{% csrf_token %}

and closed later in the html. 并稍后在html中关闭。

This is my AJAX post: 这是我的AJAX帖子:

    $('#submit').on("click",function(e){
    var ready_to_submit = true;
    if(ready_to_submit){
        e.preventDefault();
        var local_data = new Object();
        local_data.csrfmiddlewaretoken = $('input[name=csrfmiddlewaretoken]').val();

        console.log(local_data.csrfmiddlewaretoken);
        var json_data = JSON.stringify(local_data);

        console.log(json_data);
        $.ajax({
            type:'POST',
            url:'/create_new_group/create_group/',
            data:json_data ,
            success:function(data){
                    if(data.status == 1){
                            //success!
                            console.log('Success!')
                    }
                    else if(data.status == 2){
                            //failed
                            console.log('Failed!')
                    }
            }
    });

    }
});

This returns Forbidden (CSRF token missing or incorrect.): /create_new_group/create_group/ on my Django server. 这将返回禁止(CSRF令牌丢失或不正确。):在我的Django服务器上为/ create_new_group / create_group /。 What am I doing wrong? 我究竟做错了什么?

Try adding to your imports: 尝试添加到您的进口:

from django.views.decorators.csrf import csrf_exempt
from django.utils.decorators import method_decorator

and above your view function: 在您的视图功能之上:

@method_decorator(csrf_exempt, name='dispatch')

It solved my Forbidden (CSRF token missing or incorrect.): 它解决了我的禁止(CSRF令牌丢失或不正确。):

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM