web-dev-qa-db-fra.com

Balise de bloc non valide: 'endblock'. Avez-vous oublié de vous inscrire ou de charger cette balise?

je suis coincé dans cette erreur. Je suis un nouvel utilisateur de Django et je l’apprends en suivant les étapes sur la chaîne Youtube. J'ai tout fait pareil, mais j'ai eu cette erreur. voici le contenu HTML de layout1:

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

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

contenu html indexé:

{% 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 % }

contenu de views.py:

from Django.template.response   import TemplateResponse


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

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

comment puis-je gérer ce problème? alors que j’ai revérifié pour s’assurer que tout est dactylographié comme la chaîne Youtube et que normalement, je n’ai pas obtenu le lieu où j’ai commis une erreur.

4
ömer sarı

Django n'a pas reconnu votre balise de bloc de départ, car vous avez un espace entre le { et le %.

Vous avez également la même erreur dans les balises de début et de fin de l'autre fichier de modèle.

10
Daniel Roseman

Vous avez simplement des fautes de frappe.

Vous devriez avoir {% pas { %, et vous avez ces fautes de frappe dans les deux modèles.

Donc vous devez avoir

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

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

et

{% 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 %}

NOTE: n'oubliez pas les identifications dans html files, cela rend le code plus lisible.

4
vishes_shell

Pour moi, le problème était d'utiliser i18n sans mettre le {% load i18n %} dans le fichier de gabarit (je ne l'ai mis que dans le gabarit de base)

0
Gal Bracha

Pour moi, c’est emacs qui a cassé les lignes lorsque j’ai copié le modèle, donc

{% endif  

était sur une ligne et

%} 

était sur la ligne suivante. Ceux-ci doivent être ensemble sur une seule ligne, et

{{ variable_name }}

aussi.

0
excyberlabber