Templates ========== O Velox inclui um motor de templates poderoso. Configuração ------------ .. code-block:: python from velox import Velox app = Velox(__name__) # Definir pasta de templates (padrão: templates) app.template('templates') @app.get('/') def index(req, res): return app.render('index.html', {'nome': 'João'}) Variáveis --------- Use ``{{ variavel }}`` para imprimir variáveis: .. code-block:: html

Olá, {{ nome }}!

{# Comentário #} Condicionais ------------- .. code-block:: html {% if user %}

Bem-vindo, {{ user.name }}!

{% else %}

Por favor, faça login.

{% endif %} Loops ---- .. code-block:: html Variáveis de Loop ~~~~~~~~~~~~~~~~ No loop, você tem acesso a: - ``items`` - o item atual - ``items_index`` - índice (0-based) - ``items_first`` - True se primeiro - ``items_last`` - True se último - ``items_length`` - total de itens Filtros ------- Use filtros com ``|``: .. code-block:: html {{ nome|upper }} {# JOÃO #} {{ nome|lower }} {# joão #} {{ nome|title }} {# João #} {{ texto|truncate:30 }} {# texto truncado #} {{ preco|currency:"R$" }} {# R$ 10,00 #} {{ items|join:", " }} {# item1, item2 #} Herança de Templates -------------------- base.html: .. code-block:: html {% block title %}Meu Site{% endblock %} {% block extra %}{% endblock %} {% block content %}{% endblock %} Extend: .. code-block:: html {% extends "base.html" %} {% block title %}Página Inicial{% endblock %} {% block content %}

Olá!

{% endblock %} Macros ----- Defina macros reutilizáveis: .. code-block:: html {% macro button(text, type='primary') %} {% endmacro %} Use: .. code-block:: html {{ button('Salvar') }} {{ button('Cancelar', 'secondary') }} Includes --------- Inclua outros templates: .. code-block:: html {% include "header.html" %} {% include "footer.html" %} Próximos Passos ------------- - Explore :doc:`template_filters` para todos os filtros - Leia :doc:`template_inheritance` para herança avançada