Вопрос:

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

python html django

18088 просмотра

5 ответа

89 Репутация автора

Я застрял в этой ошибке. Я - новый пользователь, 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, и, как правило, я не понял, где я сделал ошибку.

Автор: ömer sarı Источник Размещён: 08.10.2016 05:59

Ответы (5)


13 плюса

477693 Репутация автора

Решение

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

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

Автор: Daniel Roseman Размещён: 08.10.2016 06:10

4 плюса

11917 Репутация автора

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

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

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

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

Автор: vishes_shell Размещён: 08.10.2016 06:11

0 плюса

8789 Репутация автора

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

Автор: Gal Bracha Размещён: 06.05.2018 07:41

0 плюса

355 Репутация автора

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

{% endif  

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

%} 

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

{{ variable_name }}

тоже.

Автор: excyberlabber Размещён: 18.02.2019 03:24

0 плюса

663 Репутация автора

Если ни один из предыдущих ответов не помог вам, попробуйте следующее:

Скорее всего, вы используете файл base.html и загружаете статический CSS вверху, {% load static %}и проблема для меня заключалась в том, что мне нужно было также загрузить его в другой файл моего шаблона.

Я использую Django 2.0.3, и это решило проблему для меня.

Автор: Felipe Alarcon Размещён: 11.08.2019 08:02
Вопросы из категории :
32x32