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包含找不到模板的主要内容,如果未能解决你的问题,请参考以下文章