我的一个网址如下所示:
url(r'^(?P<my_id>[0-9]+)/foo/', Foo.as_view()),
鉴于此CBV:
Class Whatever(View):
@custom_decorator(my_id)
def post(self, request, my_id):
# ...
我需要访问装饰器中的 my_id 。完成此任务的最佳方法是什么? 也许,重写初始并从 request.path 获取?
答案 0 :(得分:0)
您应该在网址中命名参数:
url(r'^(?P<my_id>[0-9]+)/foo/', Foo.as_view()),
然后在你的CBV中使用它:
Class Whatever(View):
@decorator(my_id)
def post(self, request, my_id, *args, **kwargs):
self.kwargs['my_id']
...