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.
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.
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.
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)
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.