Маркер CSRF отсутствует или неверен (Джанго) - PullRequest
0 голосов
/ 10 ноября 2018

Моя форма создана так

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

и закрыто позже в html.

Это мой пост 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!')
                    }
            }
    });

    }
});

Возвращает Forbidden (токен CSRF отсутствует или неверен.): / Create_new_group / create_group / на моем сервере Django. Что я делаю не так?

1 Ответ

0 голосов
/ 29 мая 2019

Попробуйте добавить к своим импортам:

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

и выше функцию просмотра:

@method_decorator(csrf_exempt, name='dispatch')

Это решило мой запрет (токен CSRF отсутствует или неверен.):

...