У меня есть вид входа в систему, который отображает страницу входа для пользователя.Как только пользователь отправляет страницу входа в систему, выполняется пост-вызов в другое представление с именем 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" )