常见的django模板参数

时间:2016-12-09 10:00:08

标签: django django-templates

我有10条django路线,可以渲染10个模板。这10个模板使用相同的布局(扩展)。我想为这10条路线发送相同的Context参数。在view.py中,有没有办法设置这些参数而不重复代码? 感谢

1 个答案:

答案 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"})

另一种解决方案 - 取决于您的具体用例 - 可能是编写一组自定义模板标记。