【问题标题】:Django with Jinja2 - using custom context processors带有 Jinja2 的 Django - 使用自定义上下文处理器
【发布时间】:2016-10-09 23:08:18
【问题描述】:

我使用 Jinja2 作为我的模板系统。我创建了一个 jinja2.py 文件并设置环境以使用自定义模板过滤器等。但是我不知道如何通过 jinja2 设置 custom_processor?

def environment(**options):
    env = Environment(**options)

    env.filters['datetime'] = format_datetime

    env.globals.update({
        'static': staticfiles_storage.url,
        'url': reverse,
        'thumbnail': thumbnail,
        'customimagecrop':customimagecrop,

    })
    return env

谢谢

【问题讨论】:

    标签: django jinja2


    【解决方案1】:

    Jinja2 后端不支持上下文处理器。请参阅this ticket(警告 - 这是一个很长的阅读时间)。你可以试试 django-jinja,does support context processors

    【讨论】:

    • 谢谢你,我会将它用于 memcached,但我已经读过 jinja2 不需要。你怎么看?
    • 我不确定你对 memcached 使用上下文处理器是什么意思。
    • 我在自定义 context_processor 中进行缓存(通过 memcached)...(workCategories = cache.get(cache_key_workcategories))
    • 我不确定为什么模板语言的选择会影响您是否使用缓存。
    • 我认为这无关紧要 - those docs 是关于从 Jinja1 切换到 Jinja2,它谈论的是缓存模板,而不是缓存模板变量。
    猜你喜欢
    • 2018-06-09
    • 2018-10-30
    • 2010-10-07
    • 2014-02-17
    • 2015-08-20
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多