【问题标题】:Django Template Error : Template u'base.html' cannot be extendedDjango 模板错误:模板 u'base.html' 无法扩展
【发布时间】:2009-07-16 14:42:20
【问题描述】:

我在运行 django 应用程序时收到此错误 (dpaste)

Template error

In template c:\python\projects\mycms\dpaste\templates\dpaste\base.html, error at line 1

Template u'base.html' cannot be extended, because it doesn't exist

1   {% extends "base.html" %}

但是"base.html"确实存在于模板目录中,并且其中有这一行:

{% extends "base.html" %}

这有什么问题?

【问题讨论】:

    标签: python django django-templates


    【解决方案1】:

    您的 base.html 模板无法自行扩展。问题就在那里。删除该行并将其替换为有效的 html 或其他 Django 模板标签(或扩展其他模板)。

    【讨论】:

    • 我将 '{% extends "base.html" %}' 替换为

      DPaste 示例应用程序

      。好吧,那个讨厌的错误消失了。但是,现在我能看到的只是“DPaste 示例应用程序”!!但是应用程序应该显示带有一些输入表单等的第一页。(就像 dpaste.com)
    • 我希望您在 base.html 页面而不是其他页面中替换了它。 base.html 有你想要的所有表格等吗?
    • @AlbertoPL :是的,我是在 base.html 文件中完成的,除了“

      DPaste Sample App

      ”之外没有其他 html 元素。 base.html 的 SVN 副本在这里 >> bit.ly/yQk3i 所以,我必须在 base.html 中添加表单元素,是吗?我是 DJango 的初学者。仍然通过一些编码和查看示例应用程序的源代码来学习。你的提示很有帮助!
    【解决方案2】:

    模板不能自行扩展。

    【讨论】:

      【解决方案3】:

      如果你是这么说的:

      {% extends "base.html" %}
      

      是包含模板中的唯一行,而不是基本模板,那么您的问题可能是“base.html”是相对于模板根目录的。

      所以如果在设置中你有:

      TEMPLATE_DIRS = ("/home/me/mysite/mytemplates")
      

      包含的模板是:

      /home/me/mysite/mytemplates/myapp/page.html
      

      基础模板是:

      /home/me/mysite/mytemplates/myapp/base.html
      

      那么你要使用:

      {% extends "myapp/base.html" %}
      

      至少当我找到这个页面时,我的问题是这样的。

      【讨论】:

        猜你喜欢
        • 2016-02-23
        • 1970-01-01
        • 2010-11-27
        • 1970-01-01
        • 2011-02-28
        • 2017-07-16
        • 2020-10-09
        • 2014-02-09
        相关资源
        最近更新 更多