Django user.is_authenticated не для некоторой подстраницы

В моем index.html (базовый шаблон) есть навигационная панель и user is_authenticated не работает для подстраницы профиля, но работает для домашней
. Index.html

<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
...

 {% if user.is_authenticated %}
        <li class="nav-item">
          <a class="nav-link mx-1" href="/account/profile/">{{user.username}}</a>
        </li>
        <li class="nav-item btn-danger ">
          <a class="nav-link text-white " href="/account/logout/">Logout</a>
        </li>
        {% else %}
        <li class="nav-item">
          <a class="nav-link" href="/account/login/">Login</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="/account/register/">Register</a>
        </li>
        {% endif %}
...
</nav>

Profile.html

{% extends 'index.html' %}

{% block body %} 
{% for user_info in user%}
<div>
...
</div>
{% endfor %}
{% endblock body %}

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

Спасибо и любой совет будет очень признателен.

Вам нужно получить доступ к аутентифицированному пользователю с помощью request.user.is_authenticated в шаблоне. Я думаю, что вы можете получить доступ к пользователю в вашем index.html, потому что вы передаете пользователя в контексте. С помощью request вы можете получить доступ к пользователю в любом шаблоне, не помещая его в conext

Вернуться на верх