我的Django结构是:
$seconds = $data[11];
$convertdate = date("y/m/d", $seconds);
在主要网址模块testing
contacts
__init__.py
templates
contacts
index.html
(additional modules)
testing
__init__.py
templates
testing
test.html
urls.py
(additional modules)
内部,我有一个urlconf,如下所示:
testing.urls
问题是,它一直在url(r'^testing/$', TemplateView.as_view(template_name='testing/test.html'))
查找contacts.templates.contacts
文件。使用现有的urlcon,调试页面会显示以下内容:
模板加载器postmortem
test.html
它始终默认为.......................... ^^^^^^^^^^ Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
Using loader django.template.loaders.app_directories.Loader:
/Library/Python/2.7/site-packages/django/contrib/admin/templates/testing/test.html (File does not exist)
/Library/Python/2.7/site-packages/django/contrib/auth/templates/testing/test.html (File does not exist)
/Users/*/Developer/django/testing/contacts/templates/testing/test.html (File does not exist)
文件夹由于某些原因。是否有一些可以控制它的TemplateView或contacts
的其他参数?任何帮助表示赞赏!
更新 - 内部template_name
settings.py
答案 0 :(得分:4)
Django目前没有搜索testing/testing
目录。最简单的解决方法是将其添加到DIRS
设置:
'DIRS': [os.path.join(BASE_DIR, 'testing', 'templates')],
另一种选择是将testing
添加到您的INSTALLED_APPS
设置中。然后Django会找到你的模板,因为你有APP_DIRS=True
。但是我不建议这样做,因为在你的情况下testing/testing
是包含settings.py
和root url config的特殊目录。
答案 1 :(得分:3)
通过指定"APP_DIRS": True
,您告诉django在每个安装的应用程序中搜索模板文件。在settings.py
中查看您的所有应用是否都包含在INSTALLED_APPS
中。如果是,您可以尝试强制django在您的应用中查找模板。
TEMPLATES = [
{
'DIRS': [os.path.join(BASE_DIR, 'testing', 'templates')],
....
},
]