如何将Django装饰器用于Piston处理程序方法?

时间:2011-12-12 11:25:27

标签: python django django-piston

是否可以将Dango(和自制)视图装饰器与Piston处理程序方法一起使用?问题是,使用这些方法,第一个参数是self(处理程序),第二个参数是request,而对于方法,第一个参数是request

基本上我想做这样的事情:

from piston.handler import BaseHandler
from django.contrib.auth.decorators import permission_required

class MyHandler(BaseHandler):
    @permission_required(lambda u: u.is_staff or u.is_superuser)
    def read(self, request, foo, bar):
        # do something

1 个答案:

答案 0 :(得分:2)

from django.utils.decorators import method_decorator

class MyHandler(BaseHandler):
    @method_decorator(permission_required(lambda u: u.is_staff or u.is_superuser))
    def read(self, request, foo, bar):
        # do something