web-dev-qa-db-ja.com

無効なブロックタグ: 'endblock'。このタグの登録またはロードを忘れましたか?

lこのエラーが発生します。 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",{})

この問題をどのように処理できますか? lは、Youtubeチャンネルのようにすべてが同じように入力されていることを確認するためにダブルチェックを行い、通常、lが間違えた場所を取得できませんでした。

8
ömer sarı

Djangoは開始ブロックタグを認識しませんでした。{ そしてその %

また、他のテンプレートファイルの開始タグと終了タグの両方に同じエラーがあります。

14
Daniel Roseman

タイプミスがあります。

{% not { %、そしてあなたは両方のテンプレートでそれらのタイプミスを取得しました。

だからあなたは持っている必要があります

<!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ファイルのIDを忘れないでください。コードが読みやすくなります。

4
vishes_shell

上記の回答がどれもうまくいかない場合は、次を試してください。

ほとんどの場合、base.htmlファイルを使用しており、上部に静的CSSが読み込まれています{% load static %}そして、私にとっての問題は、他のテンプレートファイルにもこれをロードする必要があることでした。

Django 2.0.3を使用していますが、これで問題は解決しました。

3
Felipe Alarcon

私にとっては、テンプレートファイル内でi18n入れないで{% load i18n %}を使用することの問題でした(ベーステンプレートにのみ配置します)

0
Gal Bracha

私にとっては、テンプレートをコピーするときにemacsが行を分割していたため、

{% endif  

一行にあり、

%} 

次の行にありました。これらは1行にまとめる必要があり、

{{ variable_name }}

も。

0
excyberlabber