dash--项目的前端展示简单基础

1.前置工作

创建虚拟环境:

复制代码
sudo apt-get install python3-venv # 安装
python3 -m venv venv # 在本目录下创建venv虚拟环境(也是一个文件夹。如果用不到这个虚拟环境以后就rm -rf venv)
source venv/bin/activate # 激活虚拟环境

临时使用清华大学的镜像源安装 Python 包:

复制代码
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名

永久更改 pip 的默认源:

复制代码
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

2.示例

创建一个基本的 Dash 应用程序的入口文件 app.py,并在其中添加一个简单的布局和回调:

复制代码
import dash
import dash_html_components as html
import dash_core_components as dcc
from dash.dependencies import Input, Output

# 创建 Dash 应用程序
app = dash.Dash(__name__)

# 布局
app.layout = html.Div([
    html.H1("Welcome to My Dashboard"),
    dcc.Input(id='input', value='initial text', type='text'),
    html.Div(id='output')
])

# 回调函数
@app.callback(
    Output('output', 'children'),
    [Input('input', 'value')]
)
def update_output(value):
    return f'You entered: {value}'

if __name__ == '__main__':
    app.run_server(debug=True)

运行python app.py,然后在浏览器中访问 http://127.0.0.1:8050/

在这个示例中,我们创建了一个带有一个输入框和一个文本输出的简单布局。然后,我们定义了一个回调函数,该函数接收输入框的值,并将其显示在文本输出中。

可以使用 Dash 的核心组件和 HTML 组件来创建各种不同类型的图表、表格和交互元素,并使用回调函数来处理用户输入并更新显示。

3. 分离app.pycallbacks.pylayout.py

app.py

复制代码
import dash
from layout import layout


# 导入外部CSS文件
external_stylesheets = ['https://codepen.io/dilums/pen/ZEBowxX.css']

# 创建Dash应用并加载外部样式表
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

from callbacks import *

# 设置应用的布局
app.layout = layout

if __name__ == '__main__':
    app.run_server(debug=True)

callbacks.py

复制代码
from dash.dependencies import Input, Output
from app import app

# 示例回调函数,将输入文本框的内容显示在输出Div中
@app.callback(
    Output('my-output', 'children'),
    [Input('my-input', 'value')]
)
def update_output(value):
    return f'输入的内容是: {value}'

# 如果有多个回调函数,可以在此继续添加

layout.py

复制代码
from dash import html
from dash import dcc

layout = html.Div([html.H1("简单的Dash应用"),
    
    # 一个简单的文本框
    dcc.Input(id='my-input', value='', type='text'),
    
    # 一个显示文本的空间
    html.Div(id='my-output')
])

分离三个文件,让这个项目更方便重构。

4.使用 pip freeze 命令来生成当前虚拟环境中已安装的包的列表

复制代码
`pip freeze > requirements.txt`
相关推荐
码界筑梦坊10 分钟前
125-基于Flask的客户购物偏好数据可视化分析系统
python·信息可视化·flask·毕业设计
有味道的男人16 分钟前
1688 跨境 API:多语言、跨境代采、独立站商品同步方案
java·服务器·前端
索西引擎22 分钟前
【实战】Changesets:Monorepo 版本管理与变更日志的实践
前端
测试秃头怪23 分钟前
接口测试与常用接口测试工具详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
坐吃山猪24 分钟前
【Nanobot】README03_LEVEL2_工具系统架构
python·源码·agent·nanobot
河阿里33 分钟前
Python容器:特性、区别和使用场景
开发语言·python
AC赳赳老秦35 分钟前
OpenClaw与思维导图工具联动:自动生成工作规划脑图、拆解任务节点,适配职场管理
java·大数据·服务器·数据库·python·php·openclaw
才兄说35 分钟前
机器人二次开发机器人动作定制?数据优化迁移
python
Highcharts.js36 分钟前
AI向量知识谱系图表创建示例代码|Highcharts网络图表(networkgraph)搭建案例
开发语言·前端·javascript·网络·信息可视化·编辑器·highcharts
情绪总是阴雨天~1 小时前
深入理解A2A协议:从零搭建多Agent协作系统实战
python·langchain·langgraph·a2a