Templates
Syntax
Um template Convertize é um documento de texto usando a linguagem HTML de modelo da Convertize. Alguns elementos são reconhecidos e interpretados pelo mecanismo de modelos, principalmente variáveis e tags.
A renderização de um modelo ocorre com um contexto. Durante a renderização, as variáveis são substituídas por seus valores, os quais são procurados no contexto, e as tags são executadas. Todo o restante é exibido conforme está.
A sintaxe da linguagem de modelo do Convertize envolve quatro construções.
Variáveis
Uma variável retorna um valor do contexto, que é um objeto semelhante a um dicionário mapeando chaves para valores.
As variáveis são envolvidas por {{ variavel }} desta forma:
Meu primeiro nome é {{ primeiro_nome }}. Meu último nome é {{ ultimo_nome }}.
Com um contexto de {'primeiro_nome': 'João', 'ultimo_nome': 'Silva'}, este modelo renderiza para:
Com um contexto de {'primeiro_nome': 'João', 'ultimo_nome': 'Silva'}, este modelo é renderizado para:
Meu primeiro nome é João. Meu último nome é Silva.
A busca em dicionários, a busca em atributos e a busca em índices de listas são implementadas com uma notação de ponto:
{{ meu_dicionario.chave }}
{{ meu_objeto.atributo }}
{{ minha_lista.0 }}
Se uma variável resultar em um objeto chamável, o sistema de modelos o chamará sem argumentos e usará seu resultado em vez do objeto chamável.
Tags
As tags fornecem lógica arbitrária no processo de renderização.
Essa definição é intencionalmente vaga. Por exemplo, uma tag pode produzir conteúdo, servir como uma estrutura de controle, como uma declaração "if" ou um loop "for", obter conteúdo de um banco de dados ou até mesmo permitir acesso a outras tags de modelo.
As tags são envolvidas por {% e %}, como neste exemplo:
{% token %}
A maioria das tags aceita argumentos:
{% cycle 'odd' 'even' %}
Algumas tags exigem tags de abertura e fechamento:
{% if request.customer.is_authenticated %}Hello, {{ request.customer.username }}.{% endif %}
Filters
Filtros transformam os valores de variáveis e argumentos de tags.
Eles se parecem com isso:
{{ convertize|title }}
Com um contexto de {'convertize': 'convertize is the best e-commerce platform'}, este modelo é renderizado como:
Convertize Is The Best E-commerce Platform
Alguns filtros recebem um argumento:
{{ my_date|date:"Y-m-d" }}
Comentário
Comentários se parecem com isso:
{# iso nao será renderizado #}
A tag {% comment %} fornece comentários de várias linhas.
{% comment %}
iso nao será renderizado
iso nao será renderizado
{% endcomment %}
Updated over 1 year ago