【问题标题】:Django context processor made available without a viewDjango 上下文处理器在没有视图的情况下可用
【发布时间】:2012-06-05 16:37:28
【问题描述】:

我想查询所有产品并使用上下文处理器将它们加载到以 category-id 作为键的字典中。然后我想让这个 dict 在模板中可用,以便将它作为参数发送到模板标签。

是否可以在没有视图的情况下使用上下文?感谢您的帮助。

【问题讨论】:

    标签: django django-context


    【解决方案1】:

    上下文处理器与视图无关。每次您创建 RequestContext 时都会运行它们,您通常会在 render_to_response 中执行此操作,但当然可以在此之外执行。

    【讨论】:

    • 这就是我说视图时的意思:render_to_response。您能否给我一个示例,说明如何在没有 render_to_response 的情况下创建 RequestContext 以使我的 dict 在模板中可用?
    【解决方案2】:

    当您可以从模板标签的代码本身加载您的产品时,为什么要“使模板在模板中可用以将其发送到模板标签”?

    wrt/ RequestContext,它是一个非常普通的python类,没有任何特殊的魔法:你只需要导入这个类并实例化它。

    【讨论】:

    • 我想避免每次我想要产品时重复数据库查询。就我而言,假设我每页有 3 个类别,对于每个类别,我想自动列出相关产品(无需单击类别)。因此,对于每个类别,我调用模板标签并将已经可用的产品字典与类别 ID 一起发送给它。然后模板标签将过滤字典并将相关产品发回给我。
    猜你喜欢
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    • 2023-01-18
    • 2017-01-16
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多