Django 在AJAX调用中使用CSRF会导致未捕获的TypeError:无法读取属性';价值';空的

Django 在AJAX调用中使用CSRF会导致未捕获的TypeError:无法读取属性';价值';空的,django,ajax,django-rest-framework,csrf,Django,Ajax,Django Rest Framework,Csrf,我正在努力弄清楚为什么我的代码返回一个错误,这个错误是在Ajax调用中使用CSRF引起的。错误是: Uncaught TypeError: Cannot read property 'value' of null at HTMLUListElement.<anonymous> 这是我的views.py文件 [...] class UserVenue(viewsets.ModelViewSet): serializer_class = UserVenueSeriali

我正在努力弄清楚为什么我的代码返回一个错误,这个错误是在Ajax调用中使用CSRF引起的。错误是:

Uncaught TypeError: Cannot read property 'value' of null
    at HTMLUListElement.<anonymous>
这是我的views.py文件

[...]
class UserVenue(viewsets.ModelViewSet):
    serializer_class = UserVenueSerializer
    queryset = UserVenue.objects.all()
   
    @ensure_csrf_cookie
    def get_queryset(self):
        cafeName = self.request.GET.get('cafeName', None)
        print(cafeName)

        return UserVenue.objects.all()
[...]
我尝试过的

  • 我的JS脚本位于html文件的底部
  • 在阅读文档/SO/Reddit建议的基础上,我尝试了一系列不同的编辑和调整
  • 我尝试使用method_decorators,但这似乎引起了更多的错误
如果有任何建议,我将不胜感激


谢谢

你的模板中有
{%csrf\u token%}
吗?谢谢你的提示-我认为
'csrfmiddlewaretoken':document.querySelector('input[name=“csrfmiddlewaretoken”])。值显然是错误的。我添加了它,它似乎已经克服了这个错误,但现在却抛出了这个错误:
uncaughtreferenceerror:csrfSafeMethod未定义
您错过了
csrfSafeMethod
[...]
class UserVenue(viewsets.ModelViewSet):
    serializer_class = UserVenueSerializer
    queryset = UserVenue.objects.all()
   
    @ensure_csrf_cookie
    def get_queryset(self):
        cafeName = self.request.GET.get('cafeName', None)
        print(cafeName)

        return UserVenue.objects.all()
[...]