Django可访问的url模式仅适用于某些用户组

2024-05-15 15:17:40 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有一种方法可以限制对某组django用户的url模式的访问? 例如,以/settings/开头的所有内容都只能由管理组访问。在

或者可以创建一个新的decorator,例如@group("administration"),并将其添加到仅限于组的每个视图中?在

我个人更喜欢第二种方式,如果可能的话。在


Tags: django方法用户视图url内容settings方式
2条回答

django提供了一个^{}装饰器来实现这一点。您可以将任何函数传递给它,如果函数返回假值,则不会显示视图。在

这个例子解释得更好:

from django.contrib.auth.decorators import user_passes_test

def email_check(user):
    return '@example.com' in user.email

@user_passes_test(email_check)
def my_view(request):
    ...

在您的情况下,您需要查看用户是否在特定组中:

^{pr2}$

相关问题 更多 >