包括经过身份验证的网址的路由组

时间:2019-05-19 17:26:41

标签: django django-views django-urls

包括经过身份验证的网址的路由组。

我需要创建身份验证组并根据权限启用路由。

例如。

urlpatterns = [
    @adminGroup
    path('admin/', admin.site.urls),

    @userGroup, @adminGroup
    path('/home', home.site.urls),
]

1 个答案:

答案 0 :(得分:0)

我们可以使用staff_member_required [Django-doc]login_required [Django-doc]函数。

为了在一组网址上强制使用修饰符,我们可以使用django-decorator-include [GitHub]

您可以通过以下方式安装它:

$ pip3 install django-decorator-include

(可能在您的虚拟环境中)

然后我们可以使用以下方法强制装饰器:

from decorator_include import decorator_include
from django.contrib.auth.decorators import login_required
from django.contrib.admin.views.decorators import staff_member_required

urlpatterns = [
    path('admin/', decorator_include(staff_member_required, 'admin.site.urls')),
    path('/home', decorator_include(login_required, 'home.site.urls')),
]

对于更复杂的测试,可以使用user_passes_test [Django-doc]