Este é um projeto demonstrativo que ilustra o uso de herança de templates com Jinja2, utilizando Python puro e o framework CSS PicoCSS.
O projeto demonstra conceitos fundamentais de templates em Python:
- Herança de Templates: Uso de templates base para manter consistência visual
- Reutilização de Componentes: Includes para elementos comuns como navbar
- Renderização Dinâmica: Passagem de variáveis do Python para os templates
- Estilização Moderna: Uso do PicoCSS no modo light para um design limpo e responsivo
./
├── app.py # Servidor HTTP com Jinja2
├── README.md # Este arquivo
└── templates/
├── base.html # Template base com estrutura HTML
├── index.html # Página inicial com boas-vindas e vídeos
├── about.html # Página sobre o canal Regis do Python
├── templates.html # Página sobre herança de templates
└── includes/
└── navbar.html # Menu de navegação reutilizável
- Python 3: Linguagem de programação
- Jinja2: Motor de templates para Python
- http.server: Servidor HTTP embutido no Python
- PicoCSS: Framework CSS minimalista e responsivo
- Python 3.7 ou superior
- pip (gerenciador de pacotes Python)
- Clone ou baixe este repositório
git clone https://github.com/rg3915/heranca-templates-python.git- Crie um ambiente virtual (recomendado):
python -m venv .venv- Ative o ambiente virtual:
Linux/Mac:
source .venv/bin/activateWindows:
.venv\Scripts\activate- Instale as dependências:
pip install jinja2- Execute o servidor:
python app.py- Acesse no navegador:
http://localhost:8000
- / - Página inicial com boas-vindas e vídeos sobre Django
- /templates - Explicação detalhada sobre herança de templates com Jinja2
- /sobre - Página sobre o canal Regis do Python
{% extends "base.html" %}{% block title %}Meu Título{% endblock %}
{% block content %}Meu conteúdo{% endblock %}{% include 'includes/navbar.html' %}{{ nome }}
{{ item.titulo }}{% for item in items %}
{{ item.titulo }}
{% endfor %}Este projeto foi criado seguindo os conceitos ensinados no canal Regis do Python, um canal dedicado ao ensino de Python e Django.
- YouTube: RegisdoPython
Este projeto é livre para uso educacional e demonstrativo.
Sinta-se à vontade para fazer fork, melhorar e compartilhar este projeto.