我对django非常陌生,主要是使用django和python构建一个项目。
我在djangos管理面板中创建和定义了两个用户组,用户通过这个管理面板添加;Diving_Officers和Club_Members。
在我的网页中,我有一个选项,我希望只对一个组中的用户( Diving_Officers组)是可见的,甚至可以单击。我找不到任何关于如何调用django管理中存在的组并为其分配权限或如何将视图限制在其中的任何特定信息。
**简单地说,我如何向组添加一组权限,即。此组中的人只能查看此页面。
发布于 2022-09-12 13:52:32
在视图中,您可以使用装饰器@user_passes_test() (您可以在这里找到更多的信息,https://docs.djangoproject.com/en/4.1/topics/auth/default)
要使该选项仅对该组中的用户可见,您可以使用模板筛选器,在应用程序中创建一个“templatetag”文件夹,并将其添加到该文件夹中的"has_group.py“中:
from django import template
register = template.Library()
@register.filter
def has_group(user, group_name):
return user.groups.filter(name=group_name).exists()然后,在加载带有"load has_group“的模板后,可以使用user|has_group:"mygroup”作为条件
https://stackoverflow.com/questions/73688415
复制相似问题