Django - login_required не обновляет URL - PullRequest
0 голосов
/ 20 ноября 2018

В настоящее время я сталкиваюсь с проблемами при использовании @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)

с одинаковым поведением.

Спасибо заранее за вашу помощь.

1 Ответ

0 голосов
/ 20 ноября 2018

Мне удалось решить эту проблему, добавив data-turbolinks="false" во все мои теги html href.

\ o /

...