Включить маршрутизируемые группы для аутентифицированного URL - PullRequest
1 голос
/ 19 мая 2019

Включить маршрутизируемые группы для аутентифицированного URL.

Мне нужно создать группы аутентификации и включить маршруты в соответствии с разрешениями.

Например.

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

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

1 Ответ

0 голосов
/ 19 мая 2019

Мы можем использовать staff_member_required [Django-doc] и login_required [Django-doc] функции.

Чтобы принудительно использовать декоратор для группы URL, мы можем использовать django-decorator-include [GitHub] .

Вы можете установить это с:

$ pip3 install django-decorator-include

(вероятно, в вашей виртуальной среде)

Затем мы можем принудительно применить декораторы с помощью:

from decorator_include import <b>decorator_include</b>
from django.contrib.auth.decorators import <b>login_required</b>
from django.contrib.admin.views.decorators import <b>staff_member_required</b>

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

Для более сложных тестов вы можете использовать user_passes_test [Django-doc] .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...