【问题标题】:Best Practice for Context Processors vs. Template Tags?上下文处理器与模板标签的最佳实践?
【发布时间】:2011-02-17 00:20:57
【问题描述】:

在哪些情况下创建模板标签(并将它们加载到模板中)比创建上下文处理器(自动填充请求)更好?

例如我有一个必须包含在所有模板中的动态菜单,所以我将它放入我的 base.html 中。首选用法是什么:上下文处理器或自定义模板标签?以及为什么

【问题讨论】:

    标签: django django-templates


    【解决方案1】:

    上下文处理器用于将数据(信息、内容、对象)放入用于呈现页面的上下文中。

    模板标签用于格式化或处理该内容。

    组成新数据的模板标签令人困惑。并非不可能或错误,但非常令人困惑。

    【讨论】:

    • 在我看来不一定:{% load Advertisementtags %}{% get_top_ads as myads %} {% for ad in myads %}...{% endfor %} 这就是模板标签的方式。使用上下文处理器,我也可以将“myads”放入上下文中。这就是为什么我要求“最佳实践”的东西。也许这只是一个品味问题。
    • @mawimawi:这不是品味问题。 “广告标签”应该来自上下文处理器——它们是内容。从技术上讲,任何事情都是可能的,包括真正难以理解的事情。如果内容来自上下文,那就更简单了。
    猜你喜欢
    • 2020-04-12
    • 2011-12-01
    • 2011-05-22
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 2015-02-26
    • 2013-08-25
    • 1970-01-01
    相关资源
    最近更新 更多