Django做权限管理功能思路

时间:2022-11-13 18:55:59
在如今一个“不安分”的世纪,没有权限管理功能的app是非常失败的!
用过不少web框架,也许没有哪个python web框架有如此神奇的功能:django能快速地自动地为你的app的每一个model创建三种权限增删改。这些都会在表auth_permission,这个当然要在settings开启auth应用才行,当你使用$ python manage.py syncdb的时候就已经创建了。django让这一切都变得无比简单,你只需要简单地配置就能够达到你的要求,有人会想,默认的对每一个app每个model只有三种权限,这还不足以满足你的需求的话,没关系,你可以自己在http://XXX/admin后台自己添加权限。

怎么使用呢?. 一般视图:

from django.contrib.auth.decorators import permission_required

@permission_required('myapp.can_vote')
def my_view(request):
...

通用视图

from django.contrib.auth.decorators import permission_required
...
urlpatterns = patterns('',
(r'^vote/', permission_required('polls.can_vote')(VoteView.as_view())),
)