【问题标题】:Django include can not find templateDjango包含找不到模板
【发布时间】: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" %}
  • 很奇怪!不知道是什么问题!

标签: python django


【解决方案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
猜你喜欢
  • 2013-12-16
  • 2012-03-16
  • 1970-01-01
  • 2018-01-02
  • 2012-07-10
  • 2015-03-14
  • 2020-05-27
  • 1970-01-01
相关资源
最近更新 更多