【发布时间】:2014-01-21 16:07:38
【问题描述】:
我正在尝试在我的 Django 应用程序中的几个基于类的视图的调度方法上使用装饰器。这是我尝试的一个示例视图:
class DashboardView(TemplateView):
template_name="omninectar/dashboard.html"
def get_context_data(self, **kwargs):
....
@active_and_login_required
def dispatch(self, *args, **kwargs):
return super(DashboardView, self).dispatch(*args, **kwargs)
使用以下装饰器:
active_required = user_passes_test(lambda u: u.is_active)
def active_and_login_required(view_func):
decorated_view_func = login_required(active_required(view_func))
return decorated_view_func
这让我得到以下错误:
AttributeError at /dashboard/
'DashboardView' object has no attribute 'user'
如何让装饰器使用此视图检索当前用户?
【问题讨论】:
-
你能把整个
DashboardView贴出来吗?问题可能不在您发布的代码中。
标签: python django decorator django-class-based-views attributeerror