Javascript Django允许匿名ajax请求访问通用视图

Javascript Django允许匿名ajax请求访问通用视图,javascript,python,django,ajax,rest,Javascript,Python,Django,Ajax,Rest,到目前为止,我得到的是: from django.views.generic import View from django.views.decorators.csrf import csrf_exempt class ConfigurationView(View): @csrf_exempt def dispatch(self, *args, **kwargs): return super(ConfigurationView, self).dispatch(

到目前为止,我得到的是:

from django.views.generic import View
from django.views.decorators.csrf import csrf_exempt

class ConfigurationView(View):

    @csrf_exempt
    def dispatch(self, *args, **kwargs):
        return super(ConfigurationView, self).dispatch(*args, **kwargs)

    def get(self, request):
        ...
但是,当我向该视图发出ajaxget请求时,我无法访问get方法

function getCookie(name) {
    let cookieValue = null;
    if (document.cookie && document.cookie !== '') {
        const cookies = document.cookie.split(';');
        for (let i = 0; i < cookies.length; i++) {
            const cookie = cookies[i].trim();
            if (cookie.substring(0, name.length + 1) === (name + '=')) {
                cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                break;
            }
        }
    }
    return cookieValue;
}

$.ajax({
  url: "https://{{ domain }}/configure",
  headers: {
    'X-CSRFToken': getCookie('csrftoken')
  },
  crossDomain: true,
  data: {
    email: "{{ email }}",
  },
  dataType: "json"
})
函数getCookie(名称){ 让cookieValue=null; if(document.cookie&&document.cookie!=''){ 常量cookies=document.cookie.split(“;”); for(设i=0;i 我认为我正确地发送了
csrftoken
,我不应该真正需要
csrf\u豁免
,但无论哪种方式,请求都会重定向到登录页面


任何帮助都将不胜感激。

问题并不是真正的
csrftoken
,而是我必须实现一个中间件来处理这些匿名端点:

from django.utils.deprecation import MiddlewareMixin


class AuthMiddleware(MiddlewareMixin):

    anonymous_whitelist = [
        '/<django_app>/configure',
    ]

    def anonymous_allowed(self, path):
        if path in self.anonymous_whitelist:
            return True

        return False
来自django.utils.Depraction导入MiddlewareMixin
类AuthMiddleware(MiddlewareMixin):
匿名_白名单=[
“//配置”,
]
允许的def匿名_(自身,路径):
如果self.anonymous\u白名单中的路径:
返回真值
返回错误

问题并不是真正的
csrftoken
,而是我必须实现一个中间件来处理那些匿名端点:

from django.utils.deprecation import MiddlewareMixin


class AuthMiddleware(MiddlewareMixin):

    anonymous_whitelist = [
        '/<django_app>/configure',
    ]

    def anonymous_allowed(self, path):
        if path in self.anonymous_whitelist:
            return True

        return False
来自django.utils.Depraction导入MiddlewareMixin
类AuthMiddleware(MiddlewareMixin):
匿名_白名单=[
“//配置”,
]
允许的def匿名_(自身,路径):
如果self.anonymous\u白名单中的路径:
返回真值
返回错误

如果它被重定向到登录页面,那么这不是csrf的问题。检查是否有任何权限类或设置应用于视图谢谢您的快速回答!目前没有任何权限类。我尝试过添加一个新的权限类(IsReadOnly),但它甚至没有进入权限类。我想知道是否需要通过某种中间件来允许这些端点。如果它被重定向到登录页面,那么这就不是csrf的问题。检查是否有任何权限类或设置应用于视图谢谢您的快速回答!目前没有任何权限类。我已经尝试添加一个新的权限类(IsReadOnly),但它甚至没有进入权限类。我想知道是否需要通过某种中间件来允许这些端点