【发布时间】:2010-12-23 10:56:09
【问题描述】:
我有这个装饰器,如果share 参数是True(由中间件处理),我不想执行视图时用于装饰 django 视图
class no_share(object):
def __init__(self, view):
self.view = view
def __call__(self, request, *args, **kwargs):
"""Don't let them in if it's shared"""
if kwargs.get('shared', True):
from django.http import Http404
raise Http404('not availiable for sharing')
return self.view(request, *args, **kwargs)
目前的工作方式如下:
@no_share
def prefs(request, [...])
但我想稍微扩展一下功能,让它像这样工作:
@no_share('prefs')
def prefs(request, [...])
我的问题是如何修改这个装饰器类以便它接受额外的参数?
【问题讨论】: