Python Django can';找不到模板目录
我知道有很多类似的问题,但没有一个能解决我的问题 Python版本:3.4 Django版本:1.8 加载时,我会在/lfstd/处获得TemplateDoesNotExist system.py:Python Django can';找不到模板目录,python,django,templates,directory,Python,Django,Templates,Directory,我知道有很多类似的问题,但没有一个能解决我的问题 Python版本:3.4 Django版本:1.8 加载时,我会在/lfstd/处获得TemplateDoesNotExist system.py: BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) TEMPLATE_PATH = os.path.join(BASE_DIR, 'templates') TEMPLATE_DIRS = ( TEMPL
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATE_PATH = os.path.join(BASE_DIR, 'templates')
TEMPLATE_DIRS = (
TEMPLATE_PATH,
)
lfstd/views.py:
def index(request):
[...]
return render(request, 'lfstd/index.html', context_dict)
项目URL.py:
from django.conf.urls import include, url
from django.contrib import admin
url(r'^admin/', include(admin.site.urls)),
url(r'^lfstd/', include('lfstd.urls')),
lfstd url.py:
from django.conf.urls import patterns, url
from lfstd import views
urlpatterns = patterns('',
url(r'^$', views.index, name='index'))
在基本目录和模板路径上运行打印,我得到:
Base dir: C:\Users\Phil\PycharmProjects\TownBuddies
Template path: C:\Users\Phil\PycharmProjects\TownBuddies\templates
这正是我的项目和模板文件夹所在的位置。但是,django不会在该文件夹中查找模板。它将在以下文件夹中查找:
C:\Python34\lib\site-packages\django\contrib\admin\templates\lfstd\index.html (File does not exist)
C:\Python34\lib\site-packages\django\contrib\auth\templates\lfstd\index.html (File does not exist)
事实上,如果我把我的模板移到那里,它确实找到了它,并且可以工作
非常感谢您的帮助,我从Django开始,完全陷入困境
编辑:
我将TEMPLATE_DIRS更改为TEMPLATES,但Django仍然没有在TEMPLATES文件夹中查找:
在django 1.8中,不推荐使用模板目录设置。您应该使用以下选项:
我正在用做一些单元测试,突然我重复出现了完全出乎意料的**TemplateDoesNotExist**错误 我在试图弄清楚到底发生了什么的时候发现了这个问题 我最终解决了这个问题,删除了所有
\uuuuupycache\uuuuu
目录。后来我了解到,当事情突然变得莫名其妙地不稳定时,在试图修复它们之前先清除\uuuupycache\uuuuuuuuu
我使用此脚本递归清除所有\uuuu pycache\uuu
目录,其中包含以下模块:
#!/usr/bin/env python
import os
import shutil
#!/usr/bin/env python
import os
import shutil
BASE_DIR = os.path.abspath(__file__)
print(BASE_DIR)
for root, dirs, files in os.walk(BASE_DIR):
for directory in dirs:
if directory == '__pycache__':
shutil.rmtree(os.path.join(root, directory))
谢谢,这是一个开始。但它仍然不起作用,请查看我的编辑。验尸报告说django没有设置模板目录。它只使用应用程序目录。您是否可以设置
目录的其他按键设置?我用样本设置更新了答案。你完全正确。我在你最后一次评论之前发现的。在阅读了您的答案之后,我只将TEMPLATE_DIRS重命名为TEMPLATES,并且忽略了已经存在的TEMPLATES变量。非常感谢。
#!/usr/bin/env python
import os
import shutil
#!/usr/bin/env python
import os
import shutil
BASE_DIR = os.path.abspath(__file__)
print(BASE_DIR)
for root, dirs, files in os.walk(BASE_DIR):
for directory in dirs:
if directory == '__pycache__':
shutil.rmtree(os.path.join(root, directory))