我发现自己一遍又一遍地写同样的观点。基本上是这样的:
def home_index(request):
return render_to_response('home/index.html', RequestContext(request))
为了保持干燥的原则,我想使用通用视图。我见过direct_to_template,但它传递了一个空的上下文。那么我怎样才能在使用通用视图的同时仍然获得 RequestContext 的强大功能呢?
我发现自己一遍又一遍地写同样的观点。基本上是这样的:
def home_index(request):
return render_to_response('home/index.html', RequestContext(request))
为了保持干燥的原则,我想使用通用视图。我见过direct_to_template,但它传递了一个空的上下文。那么我怎样才能在使用通用视图的同时仍然获得 RequestContext 的强大功能呢?
direct_to_template
与所有通用视图一样,已经使用了 RequestContext,因此您无需执行任何其他操作即可启用它。
但是,我不确定您是否真正要问的是是否可以传递其他上下文项 - 您可以通过使用extra_context
字典参数,在 URLconf 或包装器视图中。
此外,您应该问自己为什么要创建多个仅呈现模板的视图。如果这就是你主要做的事情,你可能会发现 Django 的内置平面应用程序比硬编码你的视图更好。
我记得有同样的问题,并写了这样的东西,但是在新版本的 django 中查看direct_to_template 代码似乎不再存在这个问题。direct_to_template 传递正确的上下文。