python shell
>>> from django.contrib.auth.models import Permission
>>> for item in Permission.objects.all():
... print item.name
...
Can add log entry
...
て思っていたけれど。@permission_requiredが引くのはcodenameですた。
×... print item.name
○ ... print item.codename
それと、 permission_requiredで引けるのは、1個だけ。
でも複数のがほしいよな。add, change, delete単体でpermission与えるのより、全部与えるほうが多いような気がする。
えっ。作れって、そうさせて頂きます。
と思ったら。似たようなのがここにあった。
ということで、
#-*- coding:utf-8 -*-
from django.contrib.auth.decorators import user_passes_test
def require_all_permissions(perm_list):
"""
A decorator which checks user has all of the given permissions.
"""
def test_func(user):
return user.has_perms(perm_list)
return user_passes_test(test_func)どうでしょう。
0 件のコメント:
コメントを投稿