Django request.session не сохраняет данные

Я пытаюсь получить данные сессии после входа в систему, но, похоже, информация не сохраняется. .

class getSession(View):
    def post(self, request):
        print('====================>')
        print(request.session.get('usuario'))
        sesion = request.session.get('usuario')
        return JsonResponse({'nombre': sesion.nombre, 'rut':sesion.rut})
        
class Login(View):
    def post(self, request):
        data = json.loads(request.body)
        
        try:
            usuario = Usuario.objects.get(rut=data['rut'], password=data['password'])
            request.session['usuario'] = {'nombre': usuario.idpersona.name, 'rut': usuario.rut}
            request.session.modified = True
                
            #print(self.request.session['usuario'])
            return  JsonResponse({'usuario':usuario.rut})
        except:
            return JsonResponse({'usuario':'no existe'})

Я получаю эту ошибку.

AttributeError: 'NoneType' object has no attribute 'nombre'

Я использую fetch с react.

async login() {
    const requestOptions = {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        rut: this.state.rut,
        password: this.state.password,
      }),
    };

    const response = await fetch("http://127.0.0.1:8000/test", requestOptions);
    const data = await response.json();

    if (data.usuario == "no existe") {
      mensajeError("RUT o contraseña inválidos.");
    } else {
      mensajeExitoso("Usuario validado correctamente.");

      setTimeout(() => {
        window.location.href = "/Inicio";
      }, 2000);
    }
    console.log(data.usuario);
  }

попробуйте установить SESSION_SAVE_EVERY_REQUEST = True в settings.py

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