it-roy-ru.com

Недопустимый тег блока: 'endblock'. Вы забыли зарегистрироваться или загрузить этот тег?

я застрял в этой ошибке. Я новый пользователь Django и изучаю его, следуя инструкциям на канале Youtube. Я сделал все то же самое, но я получил эту ошибку тега блока .. Вот содержимое HTML1 layout1:

<!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, и, как правило, я не понял, где я сделал ошибку.

4
ömer sarı

Django не узнал ваш начальный тег блока, потому что у вас есть пробел между { и %.

У вас также есть одинаковая ошибка в начальном и конечном тегах в другом файле шаблона.

10
Daniel Roseman

У вас просто есть опечатки.

Вы должны иметь {%, а не { %, и вы получили эти опечатки в обоих шаблонах.

Так что вам нужно иметь 

<!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 files, это делает код более читабельным.

4
vishes_shell

Для меня это была проблема использования i18n без помещения {% load i18n %} внутри файла шаблона (я только поместил его в базовый шаблон)

0
Gal Bracha

Для меня это был emacs, разбивающий строки, когда я скопировал шаблон, так что 

{% endif  

был на одной линии и 

%} 

был на следующей линии. Они должны быть вместе на одной линии, и 

{{ variable_name }}

тоже.

0
excyberlabber