Me quedo atascado en este error. Soy nuevo usuario de Django
y lo estoy aprendiendo siguiendo los pasos en el canal de Youtube. Hice todo igual pero obtuve este error de etiqueta de bloque. aquí está el contenido 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>
indexar contenido 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 % }
vistas.py contenido:
from django.template.response import TemplateResponse
# Create your views here.
def video(request):
return TemplateResponse (request,"video/index.html",{})
¿Cómo puedo manejar este problema? Como verifiqué dos veces para asegurarme de que todo esté escrito igual que el canal de Youtube y, normalmente, no llegué a donde cometí un error.
Django no reconoció tu etiqueta de bloque inicial, porque tienes un espacio entre el {
y el %
.
También tiene el mismo error en las etiquetas de inicio y finalización en el otro archivo de plantilla.
Simplemente tienes errores tipográficos.
Deberías {%
no { %
y obtuviste esos errores tipográficos en ambas plantillas.
Entonces necesitas tener
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% block title %}{% endblock %}</title>
</head>
<body>
{% block content %} {% endblock %}
</body>
</html>
y
{% 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 %}
NOTA: no se olvide de las identificaciones en html archivos, hace que el código sea más legible.
-
Claro y totalmente comprensible. ¡Gracias!
– М.Á.
18 de julio de 2017 a las 19:52
Si ninguna de las respuestas anteriores funcionó para usted, intente lo siguiente:
Lo más probable es que esté utilizando un archivo base.html y tenga el css estático cargado en la parte superior {% load static %}
y el problema para mí fue que también necesitaba cargar esto en mi otro archivo de plantilla.
Estoy usando Django 2.0.3 y esto me solucionó el problema.
Para mí, Emacs rompió las líneas cuando copié la plantilla, así que
{% endif
estaba en una línea y
%}
estaba en la siguiente línea. Estos deben estar juntos en una línea, y
{{ variable_name }}
también.
Para mí fue el tema de usar i18n
sin poner la {% load i18n %}
dentro del archivo de plantilla (solo lo puse en la plantilla base)
Mohammad Jatibzadeh
Para mí el problema era con {% extends %}
fue extendido.
Cryce verdaderamente
En su plantilla Html, asegúrese de {% load static %}
justo después de tu {% block content %}
antes de usarlo en la plantilla