Приложение требует предварительной авторизации (страничка авторизации расположена по “/index” или “/”). При попытке зайти на любую другую страничку (в нижеприведенном примере - на http://megatool.com/search?….), @login_required перенаправляет пользователя на “/”, с адресной строкой вроде:
http://megatool.com?next=/search%3Fcsrfmiddlewaretoken%3D1sO8ChOa7C7mjlPIvZ9Dw7eCsECKOczk%26aim%3Dmaster%253APAAAAhywAAA%253D%253D%26radioEnv%3Dmain
храня в параметре next остальные параметры GET-запроса первоначальной ссылки.
В шаблоне авторизации присутствует поле:
<input type="hidden" id="id_redirect" name="redirect" value="{{ request.GET.next }}">
redirect = forms.CharField(required=False)
Проблема
Все вышеописанное прекрасно работает для сервера разработчика, но перестало работать на Apache. В разборе полетов выяснилось, что сбоит шаблонизатор - {{ request.GET.next }}, а также пробный {{ request }} в сгенерированном HTML преобразуются в пустую строку.
В связи с этим пара вопросов:
- с чем это связано?
- если на первый вопрос ответов нет, то как можно принудительно передать в шаблон параметры (тот же HTTPRequest), если соответствующее представление вызывается автоматически через @login_required?
Спасибо.