В настоящее время я сталкиваюсь с проблемами при использовании @login_required
django decorator.
Действительно, с помощью @login_required
правильно перенаправить на нужную мне страницу, но не обновил URL.
Я запросил логин для доступа 'http://127.0.0.1:8000/global_results/by_module/'
@login_required
def results_by_module(request):
...
Когда я захожу на эту страницу без входа в систему, я вижу правильную страницу (логин), но URL не обновляется (по-прежнему http://127.0.0.1:8000/global_results/by_module/), тогда как я вижу правильное перенаправление в djangologs:
[20/Nov/2018 11:41:08] "GET /global_results/by_module/ HTTP/1.1" 302 0
[20/Nov/2018 11:41:08] "GET /accounts/login/?next=/global_results/by_module/ HTTP/1.1" 200 2055
Когда я обновляю страницу, я вижу 'правильный' URL http://127.0.0.1:8000/accounts/login/?next=/global_results/by_module/
Что я делаю не так? Я пытался использовать
def results_by_module(request):
if not request.user.is_authenticated:
return redirect('accounts/login/?next=%s' % request.path)
или
def results_by_module(request):
if not request.user.is_authenticated:
return HttpResponseRedirect('accounts/login/?next=%s' % request.path)
с одинаковым поведением.
Спасибо заранее за вашу помощь.