模板“如果”测试,以验证用户是认证的变化时,移动到另一个页面

2024-03-29 11:53:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Django中使用python-social-auth允许特定url名称的gmail用户登录到一个网页。我有一个基本.html带有导航栏的页面,导航栏具有:

#base.html
<div id="navbar">
<ul>
    <li>
        <img src="{% static "images/thumbnail.jpg" %}" alt='' style="width:48px;height:48px"/>
    </li>
    <li>
        Navbar would go here!
    </li>
    {% if user.is_authenticated %}
    <li>
        Hello, {{ user.get_full_name|default:user.username }}!
    </li>
    <li>
        <a href="{% url 'auth:logout' %}?next={{ request.path }}">Logout</a>
    </li>
    {% else %}
    <li>
        <a href="{% url 'social:begin' 'google-oauth2' %}?next={{ request.path }}">Login</a>
    </li>
    {% endif %}
</ul>

用户登录后,会被重定向到主页,该导航栏会显示正确的内容。但是,当我导航到扩展基本.html模板中,导航栏不返回用户名/用户名和注销链接,而是只显示登录链接。当我单击登录链接并重新选择相同的电子邮件时,它会按预期转发到/logged-in/上。用于验证用户是否已登录的正确模板标记是什么?你知道吗


Tags: path用户auth模板url链接requesthtml