Сессия Django не работает между несколькими представлениями - PullRequest
0 голосов
/ 10 октября 2018

У меня есть вид входа в систему, который отображает страницу входа для пользователя.Как только пользователь отправляет страницу входа в систему, выполняется пост-вызов в другое представление с именем home.Это домашнее представление проверяет учетные данные пользователя и, если оно успешно, перенаправляет в другое представление, которое отображает новый HTML-файл.

В settings.py

'django.contrib.sessions' добавляется в установленные приложения.'django.contrib.sessions.middleware.SessionMiddleware' добавлено в MIDDLEWARE.

ПРОБЛЕМА: - Я устанавливаю поле сеанса в домашнем представлении, а затем оттуда, когда поток перенаправляется в другое представление, сеанс.поле становится недействительным.Я не могу дать весь код из-за политики компании, но я даю столько, сколько нужно для объяснения моего вопроса.

Примечание: - Когда загружен Index.html, пост-транзакция выполняется через AJAX / jquery.из файла Index.html и в случае успеха тот же файл index.html обращается к представлению XYZ с помощью window.location.href ('/ XYZ');

ОШИБКА: - KeyError: 'userName'

def index(request):
    return HttpResponseRedirect(reverse('login'))

def login( request ):
    return render_to_response('Index.html')

def home( request ):
    login( user );
    request.session['userName'] = "test";
    return HttpResponse( "SUCCESS" )

def XYZ( request ):
    print( request.session['userName'])
    return HttpResponse( "FAILED" )
...