4

我发现自己一遍又一遍地写同样的观点。基本上是这样的:

def home_index(request):
    return render_to_response('home/index.html', RequestContext(request))

为了保持干燥的原则,我想使用通用视图。我见过direct_to_template,但它传递了一个空的上下文。那么我怎样才能在使用通用视图的同时仍然获得 RequestContext 的强大功能呢?

4

2 回答 2

9

direct_to_template与所有通用视图一样,已经使用了 RequestContext,因此您无需执行任何其他操作即可启用它。

但是,我不确定您是否真正要问的是是否可以传递其他上下文项 - 您可以通过使用extra_context字典参数,在 URLconf 或包装器视图中。

此外,您应该问自己为什么要创建多个仅呈现模板的视图。如果这就是你主要做的事情,你可能会发现 Django 的内置平面应用程序比硬编码你的视图更好。

于 2010-05-22T09:35:18.187 回答
1

我记得有同样的问题,并写了这样的东西,但是在新版本的 django 中查看direct_to_template 代码似乎不再存在这个问题。direct_to_template 传递正确的上下文。

于 2010-05-22T07:24:40.757 回答