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

posted @ 2020-07-26 23:09  寒菱  阅读(303)  评论(0编辑  收藏  举报