Django 模板不存在
Posted
技术标签:
【中文标题】Django 模板不存在【英文标题】:Django templates does not exist 【发布时间】:2017-01-23 20:16:42 【问题描述】:所以我在 Windows 上工作并尝试加载我的网站主页。但是我得到''模板不存在''错误,我不知道为什么,
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:
Here is my Tracerback
您可以在那里看到 Django 甚至无法加载一些要测试的模板。我见过其他人有同样的问题,但至少有一个我试过的模板列表,我什至没有这个。
这是我的家/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 函数进行测试,返回为真,但如果我尝试将页面呈现为相同的链接,我会收到错误。所以我不知道这是否是我的代码,我的项目配置(虚拟环境,django 等),我使用 pycharm 并且我在 Windows 8.1 上真的很烦人
【问题讨论】:
【参考方案1】:您可以尝试在 settings.py 中使用此路径来正确调用模板:
'DIRS': [
os.path.join(PROJECT_ROOT, 'templates').replace('\\','/'),
],
【讨论】:
完成了,但仍然一无所获.. 我不知道我的问题是否与 one 相同,但我不明白他是如何解决问题的【参考方案2】:您不应该将您的应用程序放在apps
包中。尝试将您的应用程序架构替换为类似
INSTALLED_APPS = [
'applications.events',
'applications.student',
'applications.resume',
'applications.home`,
]
而不是"something.apps.somethingelse"
。
那是 Pythonic。
【讨论】:
以上是关于Django 模板不存在的主要内容,如果未能解决你的问题,请参考以下文章