Предыдущие страницы отображаются после выхода из системы и удаления сеанса - PullRequest
0 голосов
/ 09 февраля 2020

Код для входа в систему:

def login(request):
    if request.method == 'POST':
        user = request.POST['uname']
        password = request.POST['psw']
        log = User.objects.filter(username=user, password=password)
        if log:
            request.session['login'] = True
            return HttpResponseRedirect('/page')
        else:
            return render(request, 'login.html')
    else:
        return render(request, 'login.html')

Код для выхода из системы:

del request.session['login']
    request.session.modified = True
    return HttpResponseRedirect("/")

После выхода из системы, когда я возвращаюсь назад, я могу видеть предыдущие страницы, но как только я обновляю sh страница, которая перенаправляет меня на страницу входа и ограничивает доступ к предыдущей странице.

def page(request):
    if not request.session.get('login', False):
        return HttpResponseRedirect("/tnp_admin/")
    else: 
       #access page

Как не отображать предыдущие страницы после выхода из системы и почему сеанс работает только после обновления страницы?

1 Ответ

0 голосов
/ 09 февраля 2020

Вы можете использовать if user.is_authenticated в представлении или импортировать login_required свойство из django.contrib.auth.decorators и поместить @login_required поверх вашего представления для этого шаблона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...