环境:Python 2.7.3 || Django 1.4.1
我正在尝试根据登录用户的角色来限制网页菜单选项。我在模型中创建了一个 UserProfile 类,并将其链接到用户,如文档中所述(在添加用户时,在 Django Admin 中完美工作)。例如,普通用户只有“home”和“mytasks”,而管理员用户也将有“域任务”。
下面是 base.html 模板中的代码:
{% if user.get_profile.role == "Admin" %}
<ul id="nav">
<li><a href="{% url home %}">Home</a></li>
<li><a href="{% url mytasks %}">My Tasks</a></li>
<li><a href="{% url domaintasks %}">Domain Tasks</a></li>
</ul>
为整个站点渲染导航栏时,会检查上述内容。
我认为问题在于将字符串与数据库对象(打印在下面)进行比较,但无法找出如何进行比较。
>>> b = Role.objects.all()
>>> print b
[<Role: Admin>, <Role: User>]