我有一個簡單的視圖函數和一個裝飾器,並且我想使用傳遞給裝飾器中查看的參數。我一直在搜索,但還沒有找到任何例子,我仍然不確定這是否可能,如果是的話 - 如何做到這一點?訪問視圖在裝飾器中的參數,Django
查看與裝飾附:
@user_is_project_maintainer
def edit(request, project_id_key):
裝飾本身:
def user_is_project_maintainer():
def decorator(view_func):
@wraps(view_func, assigned=available_attrs(view_func))
def _wrapped_view(request, *args, **kwargs):
if (project_id_key.isdigit()) :
project = get_object_or_404(Project, pk=project_id_key)
else :
project = get_object_or_404(Project, key=project_id_key)
if (project.maintainer_id != request.user.id) :
return HttpResponseRedirect(reverse('core.views.index', args=(project.key,)))
else :
view_func(request, *args, **kwargs)
return _wrapped_view
return decorator
我已經爲我的需要複製的默認的Django視圖的裝飾之一,它修正,我敢肯定,我已經做錯了,但事實並非如此。主要的東西我無法弄清楚 - 如何讓我的手在裝飾器內的project_id_key
var?