这是目前项目的结构。webbshop templates webbshop base.html settings.pyhome templates home index.html在我的“webbshop”设置中,这是我获得设置的“主”应用程序。但是当我尝试用 index.html 扩展 base.html 时,我收到了这个错误:django.template.exceptions.TemplateDoesNotExist: webbshop/base.html"在页面上它显示了这一点。 https://i.stack.imgur.com/QUQbd.png它似乎没有去 webbshop 应用程序中寻找模板。我四处搜寻,应该可以。这是我的 index.html{% extends 'webbshop/base.html' %}{% block content %}hey{% endblock %}这些是我在 webbshop 应用程序中安装的应用程序。INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'home',]解决了!解决方案:即使我在 webbshop 应用程序中有 settings.py 文件,我仍然必须将“webbshop”添加为已安装的应用程序。否则它将无法识别该应用程序中的模板。
2 回答
千万里不及你
TA贡献1784条经验 获得超9个赞
要使我的评论成为您可以接受的答案:
Django 中没有“主应用程序”这样的概念;如果webbshop
碰巧包含webbshop/settings.py
,它可能是 Django 项目模块,但它不是自动应用程序。
您需要将其添加到INSTALLED_APPS
(即使它不提供视图、url、模型等),以便默认模板查找机制在webbshop/templates
.
墨色风雨
TA贡献1853条经验 获得超6个赞
哦,好的,您需要在 settings.py 中进行这些更改:在 BASE_DIR 行下方添加以下行:
TEMPLATE_DIR = os.path.join(BASE_DIR, 'templates')
并在 DIRS 下的 TEMPLATES 下添加这个新变量“TEMPLATE_DIR”:
模板 -> 'DIRS' :[TEMPLATE_DIR],
谢谢。
添加回答
举报
0/150
提交
取消