所以我在Windows上工作,我尝试加载我的websit主页。但是我得到的模板不存在''错误我不知道为什么,
TemplateDoesNotExist at /
home/home.html
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 1.10.1
Exception Type: TemplateDoesNotExist
Exception Value:
home/home.html
Exception Location: C:\Python35\lib\site-packages\django\template\loader.py in get_template, line 25
Python Executable: C:\Python35\python.exe
Python Version: 3.5.2
Python Path:
你可以看到Django甚至无法加载一些模板进行测试。我见过其他有同样问题的人,但是在leat那里有一个试用过的模板列表,我甚至没有这个。
这是我的家/ views.py
class IndexView(View):
template_name = 'home/home.html'
# not logged in
def get(self, request):
return render(request, self.template_name)
这是我的setting.py中的模板变量
TEMPLATE = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
在我的代码中,我的结构是 this您可以看到我在installed_app
中添加了Home在更改项目的路径根后,更改我的python版本(3.5而不是2.7)将模板文件夹放在我的manage.py的同一级别上,并将APPS_DIR更改为false我仍然什么也得不到。我试着知道它是否是一个路径问题,所以我把文件放在项目的根目录下并使用python的isFile函数进行测试,返回为true但如果我尝试渲染页面相同的链接,我会得到错误。所以我不知道它是不是我的代码,我的项目配置(虚拟环境,django等)而且我真的很讨厌我使用pycharm和我在Windows 8.1上
答案 0 :(得分:0)
您可以尝试使用settings.py中的此路径正确调用模板:
'DIRS': [
os.path.join(PROJECT_ROOT, 'templates').replace('\\','/'),
],
答案 1 :(得分:0)
您不应将应用放在apps
包裹上。尝试将应用程序架构替换为
INSTALLED_APPS = [
'applications.events',
'applications.student',
'applications.resume',
'applications.home`,
]
而不是"something.apps.somethingelse"
。
即Pythonic。