odoo-qweb-templates
Ajuda seu agente a criar relatórios e páginas web no Odoo. Ele usa um sistema de templates para gerar documentos e emails.
O que ela faz
Esta ferramenta ajuda a criar modelos de documentos (como faturas em PDF, e-mails e páginas de site) para o sistema Odoo. Ela gera o código necessário para exibir informações de forma organizada e dinâmica.
Quando usar
- ✓Criar um novo relatório em PDF personalizado.
- ✓Desenvolver um modelo de e-mail automático.
- ✓Adicionar conteúdo dinâmico a uma página do site.
Exemplo do que pedir para a IA
“Crie um modelo QWeb para uma fatura em PDF que mostre o nome do cliente e o total.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você descreve o documento que precisa (relatório, e-mail ou página). A ferramenta gera o código QWeb e as configurações necessárias para que o Odoo o utilize.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill odoo-qweb-templatesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/odoo-qweb-templates/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Modelos QWeb do Odoo
Visão Geral
QWeb é o principal motor de templates do Odoo, usado para relatórios em PDF, páginas de sites e modelos de e-mail. Esta habilidade gera XML QWeb correto e bem estruturado com diretivas apropriadas, suporte a tradução e vinculações de ações de relatório.
Quando Usar Esta Habilidade
- Criar um relatório PDF personalizado (fatura, comprovante de entrega, certificado).
- Construir um modelo de e-mail QWeb acionado por ações de fluxo de trabalho.
- Projetar páginas de sites do Odoo com conteúdo dinâmico.
- Depurar erros de renderização QWeb (problemas
t-if,t-foreach).
Como Funciona
- Ativar: Mencione
@odoo-qweb-templatese descreva o relatório ou template necessário. - Gerar: Receba um registro
ir.actions.reportcompleto e um template QWeb. - Depurar: Cole um template com defeito para identificar e corrigir problemas de renderização.
Exemplos
Exemplo 1: Relatório PDF Personalizado
<!-- Report Action -->
<record id="action_report_patient_card" model="ir.actions.report">
<field name="name">Patient Card</field>
<field name="model">hospital.patient</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">hospital_management.report_patient_card</field>
<field name="binding_model_id" ref="model_hospital_patient"/>
</record>
<!-- QWeb Template -->
<template id="report_patient_card">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="doc">
<t t-call="web.external_layout">
<div class="page">
<h2>Patient Card</h2>
<table class="table table-bordered">
<tr>
<td><strong>Name:</strong></td>
<td><t t-field="doc.name"/></td>
</tr>
<tr>
<td><strong>Doctor:</strong></td>
<td><t t-field="doc.doctor_id.name"/></td>
</tr>
<tr>
<td><strong>Status:</strong></td>
<td><t t-field="doc.state"/></td>
</tr>
</table>
</div>
</t>
</t>
</t>
</template>
Exemplo 2: Renderização Condicional
<!-- Show a warning block only if the patient is not confirmed -->
<t t-if="doc.state == 'draft'">
<div class="alert alert-warning">
<strong>Warning:</strong> This patient has not been confirmed yet.
</div>
</t>
Melhores Práticas
- ✅ Faça: Use
t-fieldpara campos de modelo — Odoo formata automaticamente datas, valores monetários e booleanos corretamente. - ✅ Faça: Use
t-out(Odoo 15+) para saída HTML segura de strings que não são campos. Uset-escapenas no Odoo 14 e versões anteriores (ele escapa o HTML da saída). - ✅ Faça: Chame
web.external_layoutpara relatórios PDF para incluir automaticamente o cabeçalho, rodapé e logotipo da empresa. - ✅ Faça: Use
_lt()(tradução preguiçosa) para literais de string traduzíveis dentro de helpers de relatório Python, não inlinet-esc. - ❌ Não faça: Use expressões Python brutas dentro do QWeb — calcule valores no modelo ou em um helper de relatório
_get_report_values(). - ❌ Não faça: Esqueça
t-asao usart-foreach; sem ele, você não pode acessar o registro atual no corpo do loop. - ❌ Não faça: Use
t-esconde você pretende renderizar conteúdo HTML — ele escapará as tags e as imprimirá como texto bruto.
Limitações
- Não cobre roteamento de controladores de site para páginas QWeb dinâmicas — isso requer conhecimento de
http.routePython. - O QWeb de modelo de e-mail tem um escopo de variável diferente do QWeb de relatório (
objectvsdocs) — esta habilidade foca principalmente em relatórios PDF. - O JavaScript QWeb (usado em widgets Kanban/Form) é um motor diferente; esta habilidade cobre apenas QWeb do lado do servidor.
- Não cobre a configuração do wkhtmltopdf para problemas de renderização de PDF (tamanho da página, margens, sobreposição de cabeçalho/rodapé).
Perguntas frequentes
O que é QWeb?
QWeb é a linguagem que o Odoo usa para criar modelos de documentos, como relatórios em PDF e e-mails, permitindo que informações sejam exibidas de forma dinâmica.
O que são 'diretivas' como t-if e t-foreach?
São comandos especiais no QWeb que controlam como o conteúdo é exibido. Por exemplo, 't-if' mostra algo apenas se uma condição for verdadeira, e 't-foreach' repete um bloco de conteúdo para cada item em uma lista.
Posso usar isso para qualquer tipo de documento no Odoo?
Principalmente para relatórios em PDF, modelos de e-mail e páginas de site. Não cobre a parte de programação Python para páginas web complexas ou configurações de impressão de PDF.
Detalhes
Descrição original do autor
Expert in Odoo QWeb templating for PDF reports, email templates, and website pages. Covers t-if, t-foreach, t-field, and report actions.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3735
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
angular-developer
Ajuda seu agente a criar código Angular e a dar conselhos sobre a estrutura do projeto. É útil para iniciar novos projetos, criar partes do código ou melhorar a performance e acessibilidade.
affaan-m/ECC
frontend-a11y
Ajuda seu agente a tornar interfaces web acessíveis para todos. Ele garante que sites e apps funcionem bem com leitores de tela e navegação por teclado.
affaan-m/ECC
frontend-patterns
Faz seu agente aplicar padrões modernos no desenvolvimento frontend. Ele otimiza performance, gerencia estado e segue boas práticas em React e Next.js.
affaan-m/ECC