Почему на показывает в шапке, что пользователь авторизирован?

Почему не изменяется содержание шапки при авторизации пользователя? Когда вожу верные данные он просто перекидывает меня на главную страницу, как и нужно, но не изменяет содержание шапки, а если вожу неверные данные, то выдаёт ошибки, в принципе как и должно.

HTML
<header>
        <div class="w_gran">

            <div class="wrapper_head">
                <div id="logotype">
                    <a href="/index.html" class="head_logo_link">
                        {% load staticfiles %}
                        <img src="{% static 'img/logo.png' %}" alt="Logotype" class="head_img">
                    </a>
                </div>
                <ul id="head_nav">
                    <li class="head_li transition">
                        <a href="/news.html" class="head_link">
                            НОВОСТИ
                        </a>
                    </li>
                    <li class="head_li">
                        <a href="/post.html" class="head_link">
                            ПОСТЫ
                        </a>
                    </li>
                    <li class="head_li">
                        <a href="/result.html" class="head_link">
                            РЕЗУЛЬТАТ
                        </a>
                    </li>
                    <li class="head_li">
                        <a href="/info.html" class="head_link">
                            ИНФОРМАЦИЯ
                        </a>
                    </li>
                    <li class="head_li">
                        <a href="/contact.html" class="head_link">
                            КОНТАКТЫ
                        </a>
                    </li>
                    <li class="head_li_search">
                        <a href="" class="head_search_link">
                            {% load staticfiles %}
                            <img src="{% static 'img/icon_search.png' %}" alt="Search" class="head_search_img">
                        </a>
                    </li>
                </ul>
                <div class="auth_reg">
                   
                    {% if username %}

                    <a href="/post.html" class="head_auth">
                        Личный кабинет
                    </a>
                    <br>
                    <a href="/news.html" class="head_auth">
                        Выйти ({{ username }})
                    </a>

                    {% else %}

                    <a href="/login.html" class="head_auth">
                        Войти
                    </a>
                    <br>
                    <a href="/reg.html" class="head_reg">
                        Зарегестрироваться
                    </a>

                    {% endif %}

                </div>
            </div>
        </div>
    </header>


views.py
def login(request): 
    args = {} 
    args.update(csrf(request)) 
    if request.POST:
        username = request.POST.get('username', '') 
        password = request.POST.get('password', '') 
        user = auth.authenticate(username=username, password=password)
        if user is not None:
            auth.login(request, user)
            return redirect('/')
        else:
            args['login_error'] = "User not found"
            return render_to_response('mainApp/login.html', args)
    else:
        return render_to_response('mainApp/login.html', args)
    
def logout(request):
    auth.logout(request)
    return redirect('/')
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 1
deepblack
@deepblack Куратор тега Django
{% if user.is_authenticated  %}
    {{ user.first_name }} {{ user.last_name }}
{% else %}
    <a href="{% url 'app:login' %}">{% blocktrans %}Log in{% endblocktrans %}</a>
{% endif %}

Почитайте на досуге, рекомендую )
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы