{%include%}模板上的Django上下文处理器?

{%include%}模板上的Django上下文处理器?,django,django-templates,Django,Django Templates,我有一个base-theme.html模板,其中有几个{%include'主题组件.html%}标记 我还有一个上下文处理器,它提供模板-config、menuItems等所需的一些常规项的dict 当我直接将它们包含在base-theme.html中时,上下文处理器会将信息发送给基本主题,但当我将它们放入包含的模板中时,则不会 例如: 基本主题.html <!doctype html... {{ config.site_name }} {% i

我有一个base-theme.html模板,其中有几个{%include'主题组件.html%}标记

我还有一个上下文处理器,它提供模板-config、menuItems等所需的一些常规项的dict

当我直接将它们包含在base-theme.html中时,上下文处理器会将信息发送给基本主题,但当我将它们放入包含的模板中时,则不会

例如:

基本主题.html

    <!doctype html...
         {{ config.site_name }}
         {% include 'menu.html' %}
     </html>
<nav>
  {% for item in menuItems %}
      {{ item }}
  {% endfor %}
</nav>

要执行此操作,请从视图中发送菜单项上下文。Include仅包括模板,但将其用作上下文您需要发送上下文,以便从视图中发送菜单项上下文。Include仅包含模板,但将其用作上下文您需要发送上下文

您是否验证了
菜单项
实际上在模板的上下文中?您可以使用Django调试工具栏来执行此操作。是的,当我将menuItems放置在“base-theme.html”中时,它可以工作。您是否验证了
menuItems
实际上在模板的上下文中?您可以使用Django调试工具栏来执行此操作。是的,当我将menuItems放置在“base theme.html”中时,它会工作。我的理解是,上下文处理器通过请求/响应使变量全局可用。我认为{%include%}将继承传递给主模板base.html的任何上下文。不对吗?不对。{%include%}包含您的模板,但要在继承的模板中使用上下文,您应该提供上下文。好的,愚蠢的问题,那么:如何将上下文包含到{%include%}中?从视图中传递上下文。假设您包含的模板具有{some_var}},然后从您试图包含其模板的视图中传递此上下文。。。{'some_var':some_var}我已经编写了自己的上下文处理器,正如我所说,它可以在基本HTML文件上工作,但不能在{%include%}上工作,因此它不全局可用。我的理解是,上下文处理器通过请求/响应使变量全局可用。我认为{%include%}将继承传递给主模板base.html的任何上下文。不对吗?不对。{%include%}包含您的模板,但要在继承的模板中使用上下文,您应该提供上下文。好的,愚蠢的问题,那么:如何将上下文包含到{%include%}中?从视图中传递上下文。假设您包含的模板具有{some_var}},然后从您试图包含其模板的视图中传递此上下文。。。{'some_var':some_var}我已经编写了自己的上下文处理器,正如我所说,它可以在基本HTML文件上工作,但不能在{%include%}上工作,因此它在全局范围内不可用。