我正在使用django建立一个网站.
I'm making a website using django.
{%,如果user.groups =='FC'%}在我的模板中不起作用.我有类似的组.
{% if user.groups == 'FC' %} doesn't work in my template.I have groups like that.
例如,如下所示,我的一个用户(用户名为"hong")属于"FC"组.
For example, one of my users(username is 'hong) belongs to 'FC' group as you see below.
但是
{% 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 %}如果user.groups ==''不起作用.
if user.groups == ' ' doesn't work.
如何检查用户组?我必须按组区分用户.
How I check the users' group? I have to distinguish the users by groups.
推荐答案您必须使用标签.在您的应用程序中,您可以创建一个目录,该目录名为: templatetags .
You have to use tags. In your application, you can create a directory which is named : templatetags.
然后,您必须在文件 user_tags.py 中创建一个文件,该文件将包含:
Then, you have to create inside a file user_tags.py which will contain :
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然后,在模板中,如果要指定零件,...
Then, in your template, if you want to specify part, ...
{% load user_tags %} ... ... {% if request.user|has_group:"yourgroupe" %} # part which will only accessible for users registered in `yourgroup` {% endif %}它在我的应用程序中可以与不同的组(管理员,用户,访问者,..)一起使用)
It works in my application with different groups (admin, users, visitors, ..) ;)
更多推荐
django {%如果user.groups =='FC'%}不起作用
发布评论