我有一个类似于:
的模板主要模板,home.html:
{% extends "framed.html" %}
<h2> stuff <h2>
framed.html看起来像
{% block header %}
<h1>{{ sitename }}</h1>
{% endblock %}
通常当我调用这些视图时,我给它一个上下文,其中包含一个键为“sitename”的上下文,分配了get_current_site()。name,它工作正常。
但是,我也想在django默认视图调用的一堆模板的顶部使用framed.html。例如:
return HttpResponseRedirect(reverse('django.contrib.auth.views.login'))
该页面的顶部永远不会显示{{sitename}},因此我最终会在页面顶部显示一些空白。平面页面,注销等也是如此。有没有办法可以将相关的上下文添加到所有这些“内置”页面中?
答案 0 :(得分:3)
您可以编写自己的模板上下文处理器,它将在为每个模板提供的参数中添加所需的变量。
的更多详情