无效的块标记:'endblock'.您是否忘记注册或加载此标记?

öme*_*arı 9 html python django

我陷入了这个错误.我是新鲜的用户,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>
Run Code Online (Sandbox Code Playgroud)

index 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 % }
Run Code Online (Sandbox Code Playgroud)

views.py内容:

from django.template.response   import TemplateResponse


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

    return TemplateResponse (request,"video/index.html",{})
Run Code Online (Sandbox Code Playgroud)

怎么能处理这个问题?因为我做了仔细检查以确保所有内容都像Youtube频道一样输入,通常情况下,我没有得到我犯了错误的地方.

Dan*_*man 16

Django没有识别你的起始块标签,因为你{和它之间有一个空格%.

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


Fel*_*con 7

如果之前的答案都不适合您,请尝试以下操作:

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

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


vis*_*ell 5

你只是有错别字。

您应该{%没有{ %,并且在两个模板中都有这些错别字。

所以你需要

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

  <head>
    <meta charset="UTF-8">
    <title>{% block title %}{% endblock %}</title>
  </head>
  <body>
    {% block content %}   {% endblock %}
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

{% 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 %}
Run Code Online (Sandbox Code Playgroud)

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