【问题标题】:Subrequests in Django templatesDjango 模板中的子请求
【发布时间】:2012-06-10 01:45:49
【问题描述】:

我正在处理我的第一个 Django 项目,并使用所有其他项目扩展的基础设置我的模板。在那个基础上,我想要一些特定于用户的导航,这意味着从数据库中加载一些值来构建下拉菜单的内容。但是我不想在每个视图中都这样做。来自 Symfony2/Twig 我通常会使用子请求来执行此操作,在该子请求中我告诉模板渲染视图并且将使用它自己的模板。使用如下语法:

{% render 'Bundle:Controller:action' with {} %}

我如何用 Django 完成同样的事情?我已经阅读了几次文档,但找不到任何方法。

【问题讨论】:

    标签: django


    【解决方案1】:

    你有两种方法:

    (更好) - 将代码添加到 base.html(你一直在扩展的那个),并且只在需要时覆盖它。

    (更糟) - 在每个模板中使用 {% include %} 来包含您的 menus.html 模板。

    更新:重新阅读您的问题:您可以在上下文处理器中修改请求,以便您的 base.html 拥有此信息。

    【讨论】:

      【解决方案2】:

      Custom template tags 是你想要的。

      【讨论】:

        猜你喜欢
        • 2010-10-16
        • 2010-10-16
        • 1970-01-01
        • 1970-01-01
        • 2012-07-02
        • 2013-01-06
        • 1970-01-01
        • 1970-01-01
        • 2017-05-17
        相关资源
        最近更新 更多