python - Django 无法扩展到另一个应用程序中的模板
问题描述
这是目前项目的结构。
webbshop
templates
webbshop
base.html
settings.py
home
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”添加为已安装的应用程序。否则它将无法识别该应用程序中的模板。
解决方案
要使我的评论成为您可以接受的答案:
Django 中没有“主应用程序”这样的概念;如果webbshop
碰巧包含webbshop/settings.py
,它可能是 Django 项目模块,但它不是自动应用程序。
您需要将其添加到INSTALLED_APPS
(即使它不提供视图、url、模型等),以便默认模板查找机制在webbshop/templates
.
推荐阅读
- python - 逗号分隔值文件的列值中的逗号 - python读取问题
- r - 刻面时未显示ggplot2自定义统计信息
- javascript - 访问对象中的键和标签并遍历另一个数组并在循环的数组元素中分配键和标签:JavaScript
- sap-cloud-sdk - DestinationAccessException 使用 s/4 sdk
- python - 如何仅使用 SimpleImputer 或等效项转换某些列
- angular - Angular Material sidenav 始终在桌面上打开
- javascript - TypeScript - 确保数组具有字符串文字中的所有值
- selenium - ExpectedConditions.presenceOf 和 element.isPresent 有什么区别
- c# - selenium.WebDriverException:未知错误:Runtime.evaluate 在参数列表后抛出异常:SyntaxError:missing )。以前的ans没有解决
- urlencode - 呈现 Jasper 报告时出现授权错误