Django 路由校验
一般情况下我们都是写一个装饰器,在需要校验的视图函数上面添加这个校验装饰器
某些情况下需要对整个路由进行校验,比如说某些路由只能特定的人才能访问,比如 /user 这个url只有登录才能访问等,
如果一个一个的对视图函数进行添加装饰器太过于繁琐了, 要是能对整个路由进行装饰就能解决这个问题了
django-decorator-include 这个库就能够帮我们完成这样的工作
安装
pip 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')),
]
对于更加复杂的测试,请参考 https://docs.djangoproject.com/en/dev/topics/auth/default/#django.contrib.auth.decorators.user_passes_test