/
pepler-sys
/
SE_FastAPI_Example
Обзор
Документация
Войти
/
pepler-sys
/
SE_FastAPI_Example
Код
Запросы
2
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
feature/add-requirements
app_streamlit.py
51 строка
2 KB
Danil
feat: добавили табличный вид для просмотра элементов
02 май 2026, 11:32
02 май 2026, 11:32
95d3b2d
Код
Авторство
О чём код?
import streamlit as st import requests import pandas as pd st.set_page_config(page_title="FastAPI Dashboard", layout="wide") st.title("📊 Аналитический дашборд") st.write("Взаимодействие с FastAPI бэкендом") # Предполагаем, что FastAPI запущен локально на порту 8000 API_URL = "http://localhost:8000" # Боковая панель для навигации menu = st.sidebar.radio("Меню", ["Просмотр элементов", "Добавить элемент"]) if menu == "Просмотр элементов": st.subheader("Список элементов") if st.button("Загрузить"): try: resp = requests.get(f"{API_URL}/items") if resp.status_code == 200: data = resp.json() if data: df = pd.DataFrame(data) st.table(df) st.json(data) else: st.info("Нет данных") else: st.error(f"Ошибка {resp.status_code}") except Exception as e: st.error(f"Не удалось подключиться к API: {e}") elif menu == "Добавить элемент": st.subheader("Новый элемент") with st.form("item_form"): name = st.text_input("Название") price = st.number_input("Цена", min_value=0.0, step=0.5) submitted = st.form_submit_button("Отправить") if submitted: if not name: st.warning("Введите название") else: try: resp = requests.post(f"{API_URL}/items", json={"name": name, "price": price}) if resp.status_code == 200: st.success("Элемент добавлен!") else: st.error(f"Ошибка: {resp.text}") except Exception as e: st.error(f"Ошибка подключения: {e}")