当用户是Django中的工作人员时,在模板上显示链接

时间:2017-03-21 20:12:28

标签: python django

我是Django的新手,我有一个导航栏,只有当用户是工作人员时才需要显示链接。以下是我的导航栏:

<div id="navbar" class="navbar-collapse collapse" aria-expanded="false" style="height: 1px;">
    <ul class="nav navbar-nav navbar-right">
      <li><a href="{% url 'pledges:preferences' %}">{% trans 'Preferences' %}</a></li>
      <li><a href="{% url 'pledges:account' %}">{% trans 'My Account' %}</a></li>
      {# The following link should be displayed just to staff members #}
      <li><a href="{% url dashboard %}">{% trans 'Dashboard' %}</a></li>
      <li><a href="{% url 'pledges:logout' %}">{% trans 'Log Out' %}</a></li>
    </ul>
</div>

任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

这很简单:

{# The following link should be displayed just to staff members #}
{% if request.user.is_staff %}
    <li><a href="{% url dashboard %}">{% trans 'Dashboard' %}</a></li>
{% endif %}

其中user是相关的用户模型,具体取决于您是使用Django的vanilla用户还是覆盖它。

答案 1 :(得分:3)

根据您的观点,它可能很简单:

{% if request.user.is_staff %}
  <li><a href="{% url dashboard %}">{% trans 'Dashboard' %}</a></li>
{% endif %}