用户登录后,导航栏上的购物车图标就会消失。我尝试对其进行调试,但无法弄清楚。我究竟做错了什么?我是否需要类似于工具栏中的登录图标来验证用户身份?
<ul class="navbar-nav ml-auto">
{% if user.is_authenticated %}
<li
{% if 'dashboard' in request.path %}
class="nav-item active mr-3"
{% else %}
class="nav-item mr-3"
{% endif %}
>
<a class="nav-link" href="{% url 'profile' %}">
Welcome {{ user.username }}</a>
</li>
<li class="nav-item mr-3">
<a href="javascript:{document.getElementById('logout').submit()}" class="nav-link">
<i class="fas fa-sign-out-alt"></i> Logout
</a>
<form action="{% url 'logout' %}" method="POST" id="logout">
{% csrf_token %}
<input type="hidden">
</form>
</li>
{% else %}
<li
{% if 'register' in request.path %}
class="nav-item active mr-3"
{% else %}
class="nav-item mr-3"
{% endif %}
>
<a class="nav-link" href="{% url 'register' %}">
<i class="fas fa-user-plus"></i> Register</a>
</li>
<li
{% if 'login' in request.path %}
class="nav-item active mr-3"
{% else %}
class="nav-item mr-3"
{% endif %}
>
<a class="nav-link" href="{% url 'login' %}">
<i class="fas fa-sign-in-alt"></i>
Login</a>
<li
{% if 'cart' in request.path %}
class="nav-item active mr-3"
{% else %}
class="nav-item mr-3"
{% endif %}
>
<a class="nav-link" href="{% url 'cart' %}">
<i class="fas fa-cart-plus"></i>
Cart</a>
</li>
在我登录之前 登录后
答案 0 :(得分:2)
您的购物车商品似乎位于{%if user.is_authenticated%}的else块中,因此,如果用户未通过身份验证,则将显示它,但如果没有,则不会显示。 如果您在购物车链接上方添加{%endif%},则它应该可以正常工作,并且在他们都已登录和退出时都会显示。见下文:
<ul class="navbar-nav ml-auto">
{% if user.is_authenticated %}
<li
{% if 'dashboard' in request.path %}
class="nav-item active mr-3"
{% else %}
class="nav-item mr-3"
{% endif %}
>
<a class="nav-link" href="{% url 'profile' %}">
Welcome {{ user.username }}</a>
</li>
<li class="nav-item mr-3">
<a href="javascript:{document.getElementById('logout').submit()}" class="nav-link">
<i class="fas fa-sign-out-alt"></i> Logout
</a>
<form action="{% url 'logout' %}" method="POST" id="logout">
{% csrf_token %}
<input type="hidden">
</form>
</li>
{% else %}
<li
{% if 'register' in request.path %}
class="nav-item active mr-3"
{% else %}
class="nav-item mr-3"
{% endif %}
>
<a class="nav-link" href="{% url 'register' %}">
<i class="fas fa-user-plus"></i> Register</a>
</li>
<li
{% if 'login' in request.path %}
class="nav-item active mr-3"
{% else %}
class="nav-item mr-3"
{% endif %}
>
<a class="nav-link" href="{% url 'login' %}">
<i class="fas fa-sign-in-alt"></i>
Login</a>
{% endif %} <!-- Put endif here -->
<li
{% if 'cart' in request.path %}
class="nav-item active mr-3"
{% else %}
class="nav-item mr-3"
{% endif %}
>
<a class="nav-link" href="{% url 'cart' %}">
<i class="fas fa-cart-plus"></i>
Cart</a>
</li>