Herencia de templates
Clase 11 de 36 • Curso de Flask
Contenido del curso
- 21

Planteamiento del proyecto: To Do List
01:54 - 22

App Factory
06:49 - 23

Uso de Blueprints
13:49 - 24

Blueprints II
07:30 - 25

Base de datos y App Engine con Flask
03:11 - 26
Configuración de Google Cloud SDK
00:17 - 27

Configuración de proyecto en Google Cloud Platform
07:11 - 28

Implementación de Firestore
11:53 - 29

Autenticación de usuarios: Login
11:20 - 30

Autenticación de usuarios: Logout
10:03 - 31

Signup
10:53 - 32

Agregar tareas
08:27 - 33

Eliminar tareas
13:24 - 34

Editar tareas
09:01 - 35

Deploy a producción con App Engine
07:43 - 36

Conclusiones
01:27
Macro: son un conjunto de comandos que se invocan con una palabra clave, opcionalmente seguidas de parámetros que se utilizan como código literal. Los Macros son manejados por el compilador y no por el ejecutable compilado.
Los macros facilitan la actualización y mantenimiento de las aplicaciones debido a que su re-utilización minimiza la cantidad de código escrito necesario para escribir un programa.
En este ejemplo nuestra macro se vería de la siguiente manera:
{% macro nav_link(endpoint, text) %}
{% if request.endpoint.endswith(endpoint) %}
<li class="active"><a href="{{ url_for(endpoint) }}">{{text}}a>li>
{% else %}
<li><a href="{{ url_for(endpoint) }}">{{text}}a>li>
{% endif %}
{% endmacro %}
Un ejemplo de uso de macros en Flask:
{% from "macros.html" import nav_link with context %}
<html lang="en">
<head>
{% block head %}
<title>My applicationtitle>
{% endblock %}
head>
<body>
<ul class="nav-list">
{{ nav_link('home', 'Home') }}
{{ nav_link('about', 'About') }}
{{ nav_link('contact', 'Get in touch') }}
ul>
{% block body %}
{% endblock %}
body>
html>
Como podemos observar en la primera línea estamos llamando a macros.html que contiene todos nuestros macros, pero queremos uno en específico así que escribimos import nav_link para traer el macro deseado y lo renderizamos de esta manera en nuestro menú {{ nav_link('home', 'Home') }}.