我有一个django应用程序,它将自己的urlconf包含在主要应用程序中。此应用程序中的每个页面都受到未授予普通用户的单独一组权限的保护。认为员工工作视图而不是用户'个人资料等。
我使用的是基于分类的视图,所以现在我已经获得了着陆视图的dispatch()检查权限,但是使用这种方法,我将不得不这样做对于每个视图。那只是不干。
所以我看到他们的选择是:
有没有办法为整个网址包含设置权限要求?他们目前都有login_required()。
答案 0 :(得分:0)
容易!
from django.contrib.auth.decorators import login_required
urlpatterns = patterns('',
url(r'^foo/', login_required(include('foo.urls'))),
)
<强>更新强>
您想要检查用户权限,而不是用户身份验证。也很容易:
from django.contrib.auth.decorators import user_passes_test
urlpatterns = patterns('',
url(r'^foo/', user_passes_test(lambda u: u.has_perm('perm'))(include('foo.urls'))),
)