
Juan Diego David Melo Alarcón
Preguntano me queda claro la diferencia entre extends e include

Julio César Zaravia Paredes
Hola Juan Diego.
Tuve la misma duda y comparto contigo lo que aprendí.
Cuando usas el ++keywords extends
Contenido del archivo hello.html
01. {% extends 'base.html' %} 02. 03. {% block title %} 04. {{ super() }} 05. Bienvenida 06. {% endblock %} 07. 08. {% block content %} 09. {% if user_ip %} 10. <h1>Hello World Platzi, tu IP es {{ user_ip }}</h1> 11. {% else %} 12. <a href="{{ url_for('index') }}">Ir a inicio</a> 13. {% endif %} 14. {% endblock %}
Nota que llamar a base.html
hello.html
super()
Adicionalmente ++puedes ver en la línea #8++ que se crea un bloque
content
content
base.html
base.html
El código que copio de
base.html
<!DOCTYPE html> <html lang="en"> <head> <title> {% block title %} Flask Platzi | {% endblock %} </title> </head> <body> <!-- Aquí puedes ver la llamada del padre al hijo --> {% block content %} {% endblock %} </body> </html>
Sin embargo, cuando usas el keyword import
hello.html
El código que copio de
hello.html
01. {% import 'macros.html' as macros %} 02. 03. {% block content %} 04. <ul> 05. {% for todo in todos %} 06. {{ macros.render_todo(todo) }} 07. {% endfor %} 08. </ul> 09. {% endblock %}
++Como puedes ver en la línea #6++ es
hello.html
macros.html
extends
Espero que te haya servido algo de lo explicado aquí.
¡Saludos!

Luis Lira
Puedes entender a
extends
Por ejemplo
{% extends 'base.html' %}
Includes, sería "quiero agregar específicamente en este lugar a este componente". El includes agrega el componente en la parte que tú quieras, puede hacerse hasta dentro de un block.