Функция представления Django возвращает код состояния 302 при использовании декоратора @login_required

В моем файле views.py в приложении Django я использую декоратор @login_required для каждого метода в файле. Когда пользователь входит в систему, все методы работают нормально, кроме одного, метода getFields. Я не могу понять, что происходит с этим методом. Когда я удаляю декоратор @login_required, он работает нормально. Почему он не определяет, что пользователь вошел в систему, для этого метода?

Функция просмотра:

@login_required   
def getFields(request):
     try:
          POST  = json.loads(request.body)
          fields = Field.objects.all()
          field_list = []
          for field in fields:
               field_list.append(field.to_dict())
          print(field_list)
          return JsonResponse({
               'status': 200,
               'fields': field_list
          })
     except(ObjectDoesNotExist):
          return JsonResponse({
               'status': 404
          })     

urls.py:

from django.contrib import admin
from django.urls import path,include
from . import views

urlpatterns = [
    path('',views.login,name="login"),
    path('logout', views.logout,name='logout'),
    path('editProfile', views.editProfile,name='EditProfile'),
    path('createTable',views.creatTable,name="createTable"),
    path("accounts/", include("django.contrib.auth.urls")),
    path('signup',views.signup,name="signup"),
    path('forgotPassword',views.forgotPassword,name="forgotPassword"),
    path('getTable', views.getTable, name="getTable"),
    path('modifyrow', views.modifyrow, name="modifyrow"),
    path('deleteRow', views.deleteRow, name="deleteRow"),
    path('addColumn', views.addColumn, name="addColumn"),
    path('deleteColumn', views.deleteColumn, name='deleteColumn'),
    path('EditColumn', views.EditColumn, name='EditColumn'),
    path('getExperts', views.getExperts, name='getExperts'),
    path('sendemail', views.sendemail, name='sendemail'),
    path('getFields', views.getFields,name='getFields'),
    path('createExpert', views.createExpert,name='createExpert'),

Вызов метода с помощью javascript:

try{
        const response = await fetch(`http://127.0.0.1:8000/getFields`,{
            method:'GET',
            headers:{
                'Content-Type': 'application-json',
                'X-CSRFToken': Cookies.get('csrftoken'),
            },
            credentails: 'include'
        })

Вернуться на верх