无效的块标记:“endblock”。您忘记注册或加载此标记了吗?

2024-06-01 05:31:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我陷入了这个错误。我是Django的新用户,我正在Youtube频道上学习。我做的一切都一样,但我发现了块标记错误。 以下是layout1 html内容:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>{ % block title %}{% endblock %}</title>
</head>
<body>
{ % block content %}   {% endblock %}
</body>
</html>

索引html内容:

{% extends "layout/layout1.html"%}


{% block title %}The Video page{% endblock %}


{ % block content %}


<h1>This is a html</h1>

<p>This is a p tag</p>

<a href="http://www.noobmovies.com">Click me!</a>
<img src="https://upload.wikimedia.org/wikipedia/en/7/72/Anthony_Raneri.jpg"/>

{% endblock % }

views.py内容:

from django.template.response   import TemplateResponse


# Create your views here.
def video(request):

    return TemplateResponse (request,"video/index.html",{})

我怎么处理这个问题?我仔细检查了一下,确保所有的东西都像Youtube频道一样输入,而且通常情况下,我没有找到我做错的地方。


Tags: 内容titleyoutubehtml错误bodycontentthis
3条回答

Django无法识别起始块标记,因为在{%之间有一个空格。

另一个模板文件中的开始标记和结束标记中也有相同的错误。

你只是有错别字。

你应该有{%而不是{ %,而且你在两个模板中都有这些错别字。

所以你需要

<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="UTF-8">
    <title>{% block title %}{% endblock %}</title>
  </head>
  <body>
    {% block content %}   {% endblock %}
  </body>
</html>

以及

{% extends "layout/layout1.html"%}


{% block title %}The Video page{% endblock %}


{% block content %}
  <h1>This is a html</h1>

  <p>This is a p tag</p>

  <a href="http://www.noobmovies.com">Click me!</a>
  <img src="https://upload.wikimedia.org/wikipedia/en/7/72/Anthony_Raneri.jpg"/>

{% endblock %}

注意:不要忘记html文件中的标识,它使代码更具可读性。

如果前面的答案都不适用,请尝试以下操作:

您很可能使用base.html文件,并将静态css加载到顶部{% load static %},而我的问题是,我还需要将其加载到其他模板文件中。

我正在使用Django 2.0.3,这为我解决了问题。

相关问题 更多 >