django ベースのプロジェクトでは、カスタム デコレータを使用したビューがあります。
@login_required
@user_is_project_maintainer
def edit(request, project_key):
...
そして実際のカスタムデコレータ自体:
def user_is_project_maintainer(request):
def decorator(view_func, *args, **kwargs):
@wraps(view_func, assigned=available_attrs(view_func))
def _wrapped_view(request, project_key, *args, **kwargs):
project = get_object_or_404(Project, key=project_key)
if (project.maintainer_id != request.user.id) :
return HttpResponseRedirect(reverse('kifos.views.index', args=(project.key,)))
else :
view_func(request, *args, **kwargs)
return _wrapped_view
return decorator
'function' object has no attribute 'get'
そして、これはdjango自体の奥深くで例外を引き起こします( /django/core/handlers/base.py line 188
)。なぜこれが起こるのか理解できません。何か案は?