2012-01-17 32 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列出的目錄中)。

相關問題