2012-03-30 152 views
1

有人告诉我,在查看settings.TEMPATE_DIRS之前,所有django应用程序都会自动查找根目录的“templates”目录。但是,这并不适合我。django:默认的模板文件路径?

这是不是真的?

我在django 1.3.1上。

编辑:

事实证明,为什么没有我的应用程序的URL映射里面工作的原因,我使用django.contrib.auth.views.login一个视图,它一直在寻找应用程序目录内对于身份验证。一个可能的解决方案是继承登录,但有没有更好的方法来解决这个问题,所以Django会看我的应用程序目录?

回答

4

这是相反的方式。默认情况下,Django首先查看settings.TEMPLATE_DIRS和in app文件夹。这可以通过settings.TEMPLATE_LOADERS进行自定义。缺省情况如下:

('django.template.loaders.filesystem.Loader', 
'django.template.loaders.app_directories.Loader') 

详情点击这里:https://docs.djangoproject.com/en/1.4/ref/templates/api/#loader-types

但是,你为什么要这么做?

+0

其实,它的设置方式就像你解释的那样更有意义。我也想出了为什么它不起作用。我的应用程序使用应用程序的视图(django.contrib.auth.view.login),因此会在auth应用程序目录中查看。无论如何明智地解决这个问题,除了做一个空的继承? – user1303950 2012-03-30 18:52:35