2010-09-29 52 views
3

我想使用Django模板来处理纯文本文件,并试图这样:但是django:我们可以做loader.get_template('my_template.txt')吗?

from django.template import loader, Context 
t = loader.get_template('my_template.txt') 

,它适用于这样的:

from django.template import loader, Context 
t = loader.get_template('my_template.html') 

可以使用Django模板加载器加载我们txt文件?怎么样?

谢谢。

+2

不禁要问明显的问题:'my_template.txt'是否存在?只要是文本文件,Django的模板引擎就不会在意使用文本,html,xml或其他任何东西。 – Seth 2010-09-29 00:22:29

+0

是的。它确实如此。我把两个都放在同一个目录下。 – john 2010-09-29 00:42:32

+0

你确定吗?它必须位于一个设置中定义的TEMPLATE_DIRS目录中。这是我能想到的唯一的东西,否则它应该能够打开任何文本文件。尝试将您的html文件复制到.txt文件中,或许您使用的.txt文件不是正确的mimetype,如果它是奇怪地创建的 – Purrell 2010-09-29 04:57:27

回答

3

由于@Seth评论我看不出有任何理由,这不应该工作。 Django不关心文件的扩展名。你可以很好地加载my_template.foo

检查以下内容:

  1. 该文件确实存在,它应该是。如果它位于子目录中,则必须使用loader.get_template('<subdirectory>/my_template.txt'),其中子目录是目录的名称。

  2. 检查您是否有应用程序名称。通常将应用程序的所有模板定位到具有应用程序名称的目录中。

  3. 由于@Seth表示仔细检查您的TEMPLATE_DIRS设置。该模板应位于此列表中的目录中。

相关问题