У меня есть блестящее приложение, связанное с базой данных SQLite.
На странице 2 есть редактируемая таблица df_articulos, и я хочу, чтобы это происходило при редактировании значения в таблицу, принимает отредактированное значение и отправляет таблицу UPDATE в SQL для редактирования значения в db.df_articulos
from shiny.express import input, render, ui
from shinyswatch import theme
import transformardatos
from shiny import reactive
# Conectar a la base de datos y obtener los artículos
df_articulos = transformardatos.df_articulos
# Configurar la UI con tema y páginas
ui.page_opts(title="Hello shinyswatch theme", theme=theme.cosmo)
ui.page_opts(title="Gestión de Planificación y Desarrollo")
# Configurar la barra lateral con un menú acordeón
# Configurar las páginas
with ui.navset_pill(id="tab"):
with ui.nav_panel("Inicio"):
@render.text
def valor():
return f"Valor: {input.slider1() + input.slider2()}"
with ui.nav_panel("Pagina 2"):
with ui.navset_pill(id="tabEdicion"):
ui.nav_spacer()
with ui.nav_panel("Articulos"):
with ui.layout_columns():
with ui.card():
ui.card_header("Articulos registrados por las áreas")
@render.data_frame
def articulos_df():
return render.DataGrid( df_articulos,
filters=True,
width="100%",
selection_mode="rows",
height="600px",
editable=True)
dt_articulos — это запрос SQL:
import sqlite3
# db connect
conexion = sqlite3.connect("GestionPyD")
cursor = conexion.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS articulos (
ArtID INTEGER NOT NULL PRIMARY KEY,
Articulo TEXT,
Precio REAL,
Rubro TEXT,
Proceso TEXT,
Fgk_Objetal TEXT,
TipoGasto TEXT,
Fgk_GestionID INTEGER,
FOREIGN KEY(Fgk_GestionID) REFERENCES gestion(GestionID)
FOREIGN KEY(Fgk_Objetal) REFERENCES objetales(ObjetalID)
)
""")
tbl_articulos = data.cursor.execute(
"SELECT Articulo, Precio, Rubro, Fgk_Objetal FROM articulos"
).fetchall()
columnas = [description[0] for description in data.cursor.description]
df_articulos = pd.DataFrame(
tbl_articulos,
columns=columnas)
Я только начинаю приложение, потому что структура все еще очень проста, но я хочу знать, можно ли это сделать, чтобы продолжить работу с Python, или я вернусь к Shiny для R.
Я пробовал что-то вроде этого:
@reactive.Effect
def generate_sql():
if input.edit():
selected_row = input.articulos_df_rows_selected()
if selected_row:
selected_data = df_articulos.iloc[selected_row[0]]
articulo_id = selected_data['ArtID']
articulo_valor = selected_data['Articulo']
Подробнее здесь: https://stackoverflow.com/questions/791 ... m-shiny-py
Как редактировать базу данных в sqlite из блестящего py ⇐ Python
Программы на Python
-
Anonymous
1731207417
Anonymous
У меня есть блестящее приложение, связанное с базой данных SQLite.
На странице 2 есть редактируемая таблица df_articulos, и я хочу, чтобы это происходило при редактировании значения в таблицу, принимает отредактированное значение и отправляет таблицу UPDATE в SQL для редактирования значения в db.df_articulos
from shiny.express import input, render, ui
from shinyswatch import theme
import transformardatos
from shiny import reactive
# Conectar a la base de datos y obtener los artículos
df_articulos = transformardatos.df_articulos
# Configurar la UI con tema y páginas
ui.page_opts(title="Hello shinyswatch theme", theme=theme.cosmo)
ui.page_opts(title="Gestión de Planificación y Desarrollo")
# Configurar la barra lateral con un menú acordeón
# Configurar las páginas
with ui.navset_pill(id="tab"):
with ui.nav_panel("Inicio"):
@render.text
def valor():
return f"Valor: {input.slider1() + input.slider2()}"
with ui.nav_panel("Pagina 2"):
with ui.navset_pill(id="tabEdicion"):
ui.nav_spacer()
with ui.nav_panel("Articulos"):
with ui.layout_columns():
with ui.card():
ui.card_header("Articulos registrados por las áreas")
@render.data_frame
def articulos_df():
return render.DataGrid( df_articulos,
filters=True,
width="100%",
selection_mode="rows",
height="600px",
editable=True)
dt_articulos — это запрос SQL:
import sqlite3
# db connect
conexion = sqlite3.connect("GestionPyD")
cursor = conexion.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS articulos (
ArtID INTEGER NOT NULL PRIMARY KEY,
Articulo TEXT,
Precio REAL,
Rubro TEXT,
Proceso TEXT,
Fgk_Objetal TEXT,
TipoGasto TEXT,
Fgk_GestionID INTEGER,
FOREIGN KEY(Fgk_GestionID) REFERENCES gestion(GestionID)
FOREIGN KEY(Fgk_Objetal) REFERENCES objetales(ObjetalID)
)
""")
tbl_articulos = data.cursor.execute(
"SELECT Articulo, Precio, Rubro, Fgk_Objetal FROM articulos"
).fetchall()
columnas = [description[0] for description in data.cursor.description]
df_articulos = pd.DataFrame(
tbl_articulos,
columns=columnas)
Я только начинаю приложение, потому что структура все еще очень проста, но я хочу знать, можно ли это сделать, чтобы продолжить работу с Python, или я вернусь к Shiny для R.
Я пробовал что-то вроде этого:
@reactive.Effect
def generate_sql():
if input.edit():
selected_row = input.articulos_df_rows_selected()
if selected_row:
selected_data = df_articulos.iloc[selected_row[0]]
articulo_id = selected_data['ArtID']
articulo_valor = selected_data['Articulo']
Подробнее здесь: [url]https://stackoverflow.com/questions/79174060/how-to-edit-db-in-sqlite-from-shiny-py[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия