从命令行渲染Django模板,无需设置

时间:2015-09-07 16:31:10

标签: django django-templates

有没有办法从命令行渲染Django模板而不调用任何设置?我想在任何Django应用程序或项目之外执行此操作,以便能够将其用作命令行工具来呈现带有一些变量的模板。有没有这样做的工具? Jinja2也没关系。

1 个答案:

答案 0 :(得分:7)

如果您没有要配置的自定义设置,则可以使用settings.configure()

from django.conf import settings
settings.configure()
from django.template import Template, Context
Template('Hello, {{ name }}!').render(Context({'name': 'world'}))

要从磁盘加载模板,您需要做更多的工作。

import django
from django.conf import settings
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ['/path/to/template'],
    }
]
settings.configure(TEMPLATES=TEMPLATES)
django.setup()
from django.template.loader import get_template
from django.template import Context
template = get_template('my_template.html')
template.render(Context({'name': 'world'})

请注意,这个答案适用于Django 1.8 +