为了账号安全,请及时绑定邮箱和手机立即绑定

Django 无法扩展到另一个应用程序中的模板

Django 无法扩展到另一个应用程序中的模板

繁华开满天机 2022-10-06 16:04:03
这是目前项目的结构。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.


查看完整回答
反对 回复 2022-10-06
?
墨色风雨

TA贡献1853条经验 获得超6个赞

哦,好的,您需要在 settings.py 中进行这些更改:在 BASE_DIR 行下方添加以下行:

TEMPLATE_DIR = os.path.join(BASE_DIR, 'templates')

并在 DIRS 下的 TEMPLATES 下添加这个新变量“TEMPLATE_DIR”:

模板 -> 'DIRS' :[TEMPLATE_DIR],

谢谢。


查看完整回答
反对 回复 2022-10-06
  • 2 回答
  • 0 关注
  • 69 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信