シンプルなビュー関数とそのデコレーターがあり、ビューに渡されたパラメーターをデコレーターで使用したいと考えています。私はグーグルで検索しましたが、これの例は見つかりませんでした。これが可能かどうかはまだわかりません。もしそうなら、どうすればいいですか?
デコレータを追加して表示:
@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 ビュー デコレータの 1 つをコピーし、必要に応じて修正しました。間違いを犯したと確信していますが、そうではありません。私が理解できない主なこと-project_id_key
デコレータ内の変数を手に入れる方法は?