Django:用于从经典视图中捕获响应上下文的装饰器

时间:2015-07-07 19:22:18

标签: django python-decorators

我有简单的经典Django视图:

@log_me
def single(request):
    item = Items.objects.all()[0]
    return render_to_response('ololo.html', {'object': item})

如何在@log_me装饰器中捕捉上下文?我需要这个:{'object': item}

谢谢。

1 个答案:

答案 0 :(得分:2)

这是不可能的。 render_to_response将使用上下文呈现模板并返回已完成的HttpResponse对象。 HttpResponse对象在视图装饰器中可用,但上下文数据已经呈现在响应中。

你需要考虑另一种方法。可以选择自定义中间件,查看process_template_response