Skip to main content

Automatically generate UI components based on the data model, and implement CRUD functionalities.

Project description

Streamlit-Crud

自动生成ui界面,并实现CRUD功能

CRUD主界面
新增表单
修改表单

目录

一、概述

本模块是一个类,根据数据库模型,自动生成表单组件,和增删改查按钮。
表单提交后,实现数据库的增删改查功能。

二、功能

  • 1、根据数据库模型,动态生成表单组件。
    表单组件根据模型的字段类型,动态生成对应的输入组件。
  • 2、生成有增删改查按钮,提交后实现数据库的增删改查功能。
  • 3、数据库以dataframe表格显示,表格配有过滤搜索、分页、下载功能。
  • 4、在根目录下新增log文件夹,以当前日期创建日志文件,记录增删改查信息。
  • 5、默认加载样式修改:设置header高度为1,减少body外边距

备注:新增的表格导出,以本地时间生成文件名。
streamlit表格的下载,使用UTC时间。所以增加这个导出功能。

三、使用方法

  • 1、安装依赖包
pip install streamlit_crud
pip install streamlit sqlmodel streamlit_antd_components pandas

ui组件生成,使用streamlit
数据库模型,使用的sqlmodel
表格分页功能,使用streamlit_antd_components
表格过滤,使用pandas

  • 2、使用示例

StreamlitCrud类需要两个参数,第一个参数为数据库模型类,第二个参数为数据库连接地址。
运行StreamlitCrud的main方法,就可以生成UI界面和实现CRUD功能。

备注:
1、数据库模型类中,字段名称为"备注"时,会使用多行文字组件。
2、表单组件的初始值,根据模型字段的default值初始化。
3、新增和修改表单时,表单中每一项都是必须填写项,没有填写会提示错误。
4、streamlit要设置 wide 模式,否则按钮会挤到一起 st.set_page_config ( layout="wide" )

import streamlit as st
from sqlmodel import SQLModel, Field
from streamlit_crud.class_crud import StreamlitCrud
from datetime import date, datetime

# 定义数据库模型类
class Data(SQLModel, table=True):
    __tablename__ = "data"
    __table_args__ = {'extend_existing': True}
    id: int = Field(default=None, primary_key=True,
                    sa_column_kwargs={"autoincrement": True})
    名称: str = Field(default="")
    名称: str = Field(default="")
    价格: float = Field(default=0.0)
    有货: bool = Field(default=True)
    录入日期: date = Field(default=date.today())
    录入时间: str = Field(default=datetime.now().strftime('%H:%M:%S'))
    备注: str = Field(default="无")  # 备注属性会使用多行文字组件

database_url = "sqlite:///example.db"
# 要选择wide模式,否则按钮会挤到一起
st.set_page_config(page_title="数据管理系统",  layout="wide")
stcrud = StreamlitCrud(Data, database_url)
stcrud.main()

四、版本说明

v 0.1 提供class模块,实现数据库增删改查功能。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

streamlit_crud-0.1.1.tar.gz (4.0 kB view details)

Uploaded Source

File details

Details for the file streamlit_crud-0.1.1.tar.gz.

File metadata

  • Download URL: streamlit_crud-0.1.1.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.8

File hashes

Hashes for streamlit_crud-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c8e5dafaf81ff00f9a2518788b7aa5a08de189cfd44be60a4b132ba7cf82123f
MD5 9807f524969266288d1158aa0c8be8a1
BLAKE2b-256 63262caeb6df78ea5b70f2cc5c7313fbcd24f7fa334a90c9a2b38d91eaa5d0ea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page