2

我在使用 Django 的身份验证系统时遇到了一些问题。我已经设法设置了一个登录页面、注销页面和一个基本的个人资料页面。现在我试图将站点上的不同区域限制为仅经过身份验证的用户。它适用于某些模板,而不适用于其他模板。

也许最奇怪的是它在同一个模板中工作/不工作。

这是base.html:

<div id="account">
    {% if user.is_authenticated %}
        Hello, <a href="{% url accounts-profile %}">{{ user.username }}</a>! | <a href="{% url accounts-logout %}">Log out</a>
    {% else %}
        <a href="{% url accounts-login %}">Log in</a>
        or
        <a href="#">Sign up</a>
    {% endif %}
</div>


<div id="sidebar">
    {% if user.is_authenticated %}
        <h3 id="plus" style="padding-top: 20px;"><a href="#">Sign up!</a></h3>
        <a href="{% url accounts-login %}">Log in</a>
    {% else %}
        <div style="margin-top: 45px">
            <a href="{% url accounts-profile %}">Profile</a>
        </div>
    {% endif %}     
</div>

在 account-div 中工作,但不在 sidebar-div 中。

有什么建议么?

4

1 回答 1

1

你有

 {% if user.is_authenticated %}
        <h3 id="plus" style="padding-top: 20px;"><a href="#">Sign up!</a></h3>
        <a href="{% url accounts-login %}">Log in</a>
 {% else %}

如果他登录了,为什么他必须注册?你可以试试 {% if not user.is_authenticated %}

于 2012-07-09T19:00:45.803 回答