Django包含找不到模板

Posted

技术标签:

【中文标题】Django包含找不到模板【英文标题】:Django include can not find template 【发布时间】:2013-04-26 10:50:48 【问题描述】:

我正在尝试将“comment.html”包含到 store.html 中,并且 store.html 扩展 base.html。

但是 Django 抛出错误 comment.html (<class 'django.template.base.TemplateDoesNotExist'>)

所有模板都在同一个目录中。 store.html 工作正常,它可以正确扩展base.html 没有任何问题。但是当我在store.html 中包含comment.html 时,会抛出错误...... 我使用% include "comment.html" %comment.html 包含在store.html

这些文件所在的目录树: vaibhav@ubuntu:~/TRAC/bright-coupons/brightCoupons/brightCouponsApp$ 树 .

├── __init__.py
├── models.py
├── templates
│   ├── about.html
│   ├── base.html
│   ├── comment.html
│   ├── contact.html
│   ├── error.html
│   ├── index.html
│   ├── index-var.html
│   ├── store.html
│   ├── stores.html
│   ├── submit-form.php
│   ├── support.html
│   └── tags.html
├── tests.py
├── views.py

【问题讨论】:

重新检查文件名。 did..checked...in Django 扩展并包含在同一模板中是否支持? 是的,它受支持并且不应该成为问题。你的%extend% 线路是什么? % extends "base.html" % 很奇怪!不知道是什么问题! 【参考方案1】:

请注意,当您确实包含时,您必须将路径相对于模板目录的根目录。所以如果comment.html 位于TEMPLATE_BASE_DIR/app/cmets.html 你必须这样做

% include "app/comments.html" %

路径与包含模板的位置无关(因为包含模板可能是一个字符串...)

【讨论】:

我已经尝试通过放置...但它抛出相同的错误..无论如何comment.html 在我的应用程序的模板目录中,所有其他模板也在模板目录中... 为了包含模板是否需要在包含的模板中指定任何内容...我的意思是在comment.html中是否需要指定任何内容... 不,它可以是任何适合外部模板的东西。您是否尝试过包含 base.html 以查看是否遇到相同的错误? (当然这不会产生一个合理的模板......) 那么尝试将comment.html复制到bla.html,然后尝试包含bla.html - 或者尝试删除文件并重新创建它...(您需要确定这是否有问题与文件的内容(虽然没有意义),文件的路径或文件本身......) 我不明白它包括任何其他页面但不包括comment.html....他们的comment.html语法有什么问题吗?请看一下comment.html....这里notepad.cc/hookeave51

以上是关于Django包含找不到模板的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Heroku 找不到我的 Django 模板?

为啥 Heroku 找不到我的 Django 模板?

Django 找不到模板

找不到模板文件 Django

找不到django模板

Django 找不到模板目录?