Acesse diretamente pelo Notion:
<https://grizzly-amaranthus-f6a.notion.site/MOBILE-APP-Projeto-4-1946cf8ea89f805b82b2fd6236212ad3?pvs=4>
Primeiro passo vamos instalar as dependências:
pip install flet
pip install requests
Agora crie a mínima estrutura de um APP FLET:
import flet as ft
import requests
# URL base da API – ajuste conforme necessário
API_BASE_URL = "<http://localhost:8000/api/treino>"
def main(page: ft.Page):
page.title = "Exemplo"
page.vertical_alignment = ft.MainAxisAlignment.CENTER
page.add()
if __name__ == "__main__":
ft.app(target=main)
Crie os elementos para criar o aluno:
nome_field = ft.TextField(label="Nome")
email_field = ft.TextField(label="Email")
faixa_field = ft.TextField(label="Faixa")
data_nascimento_field = ft.TextField(label="Data de Nascimento (YYYY-MM-DD)")
create_result = ft.Text()
create_button = ft.ElevatedButton(text="Criar Aluno", on_click=criar_aluno_click)
Adicione a função para se conectar ao back-end:
def criar_aluno_click(e):
payload = {
"nome": nome_field.value,
"email": email_field.value,
"faixa": faixa_field.value,
"data_nascimento": data_nascimento_field.value,
}
try:
response = requests.post(API_BASE_URL + "/", json=payload)
if response.status_code == 200:
aluno = response.json()
create_result.value = f"Aluno criado: {aluno}"
else:
create_result.value = f"Erro: {response.text}"
except Exception as ex:
create_result.value = f"Exceção: {ex}"
page.update()
Adicione todos os elementos em uma coluna:
criar_aluno_tab = ft.Column(
[
nome_field,
email_field,
faixa_field,
data_nascimento_field,
create_button,
create_result,
],
scroll=True,
)
Agora cria abas de navegação:
tabs = ft.Tabs(
selected_index=0,
tabs=[
ft.Tab(text="Criar Aluno", content=criar_aluno_tab),
]
)