如何在Django中的自定义模板过滤器中获取当前模板引擎?

时间:2017-09-06 23:14:03

标签: django

如何获取当前或默认模板引擎?

NFC North
Optional("New England Patriots - 1")
Optional("Miami Dolphins - 2")
Optional("New York Jets - 3")
Optional("Buffalo Bills - 4")
NFC East
Optional("Baltimore Ravens - 1")
Optional("Cincinnati Bengals - 2")
Optional("Pittsburgh Steelers - 3")
Optional("Cleveland Browns - 4")
...

2 个答案:

答案 0 :(得分:0)

from settings import TEMPLATES

TEMPLATES[0]['BACKEND']

from django.template.backends.django import DjangoTemplates

答案 1 :(得分:0)

您可以通过以下操作获取默认模板引擎(第一个配置的)的实例

from django.template.engine import Engine

current_engine = Engine.get_default()

更多信息: http://django.readthedocs.io/en/latest/ref/templates/api.html#django.template.Engine.get_default

该文档的摘录:

  

static Engine.get_default()

     

从第一个配置中返回基础引擎   DjangoTemplates引擎。如果没有引擎,则会引发配置错误   配置。

     

保留依赖于全球可用的API的要求,   隐式配置的引擎。强烈建议不要将其用于其他用途。

另请参阅该静态方法的源代码: http://django.readthedocs.io/en/latest/_modules/django/template/engine.html#Engine.get_default