2012-01-17 54 views
-1

我正在为Django编写一个管理命令,并且我创建了解析来创建新文件的模板文件。如何在脚本中使用django-template而不是jinja2?

到目前为止,我使用Jinja2,但由于它是一个Django管理命令,我想切换到基于django的模板。

你知道我该如何在django管理命令文件中设置模板环境吗?

我所寻找的是这样的Jinja2代码相当于:

env = Environment(loader=PackageLoader('modulo.bin', 'templates/plugin_templates')) 

编辑:好的管理命令它会工作。但是如果我想在普通的python脚本中使用django-template呢?

感谢,

雷米

回答

1

你不需要设置任何环境。你在Django命令中,你可以使用Django模板。

+0

好的,但在这种情况下,我的模板需要在我的项目模板目录中。我想制作一个特定的模板目录,与项目模板目录分开。但是在这里,我只需要在INSTALLED_APP中添加我的bin应用程序,它就可以工作。谢谢。 – Natim 2012-01-17 13:30:52

1

Django管理命令可以访问所有django环境变量,就像您在视图中通常那样。

要加载一个模板,它分配一些背景,并保存结果:

from django.template.loader import render_to_string 

c = {'var':'value','var2':'value2'} # values you want to send to the template 
content = render_to_string('template.html',c) # rendered template 

这是继普通的Django模板规则,所以template.html应该是可加载(换句话说,它应该是在'正常'的地方django寻找模板;或在TEMPLATE_DIRS列出的目录中)。

相关问题