У меня есть этот URL в моем проекте:
url(r'^alerts/inbox/$', 'inbox', {'template_name': 'inbox.xhtml' }, name = 'inbox'),
Представление «Входящие» в точности такое:
@login_required()
@ownsBid
def inbox(request, template_name):
return render_to_response(template_name, context_instance=RequestContext(request))
Мой декоратор ownsBid:
def ownsBid(fn):
def _check(request, *args, **kwargs):
return fn(request, kwargs)
return _check
Когда я использую:
fn(request, kwargs)
, я получаю TemplateDoesNotExist в / alerts / inbox / .Если я сделаю вместо этого:
fn(request, kwargs['template_name'])
Это делает шаблон без проблем.Я понятия не имею, почему это происходит.Но если мне нужно передать конкретный параметр представлению, это полностью нарушает принцип DRY декораторов.