我正在使用 django 制作一个网站。
{% if user.groups == 'FC' %} 在我的模板中不起作用。我有这样的组。
For example, one of my users(username is 'hong) belongs to 'FC' group as you see below.
But,
{% if user.groups == 'FC' %}
<li><a href="{% url 'register' %}">register form</a></li>
<li><a href="{% url 'mypage' %}">fc's my page</a></li>
{% else %}
<li><a href="{% url 'PT_mypage' %}">fitness' my page</a></li>
{% endif %}
if user.groups == ' ' 不起作用。
如何查看用户所属的组?我必须按组区分用户。
你必须使用tags
。
在您的应用程序中,您可以创建一个名为的目录:templatetags
.
然后,您必须在文件内创建user_tags.py
其中将包含:
from django import template
from django.contrib.auth.models import Group
register = template.Library()
@register.filter(name='has_group')
def has_group(user, group_name):
group = Group.objects.filter(name=group_name)
if group:
group = group.first()
return group in user.groups.all()
else:
return False
然后,在您的模板中,如果您想指定零件,...
{% load user_tags %}
...
...
{% if request.user|has_group:"yourgroupe" %}
# part which will only accessible for users registered in `yourgroup`
{% endif %}
它在我的应用程序中适用于不同的组(管理员、用户、访客,..);)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)