我有10条django路线,可以渲染10个模板。这10个模板使用相同的布局(扩展)。我想为这10条路线发送相同的Context参数。在view.py中,有没有办法设置这些参数而不重复代码? 感谢
答案 0 :(得分:0)
“可能最有效的解决方案”:
def render_common(request, template):
context = {
# set up you context here
}
return render(request, template, context)
def viewone(request):
return render_common(request, "templateone.html")
# etc
或者,如果您有其他每个视图的特定上下文:
def render_common(request, template, extra_context):
context = {
# set up you context here
}
context.update(extra_context)
return render(request, template, context)
def viewone(request):
return render_common(request, "templateone.html", {"foo":"bar"})
另一种解决方案 - 取决于您的具体用例 - 可能是编写一组自定义模板标记。