当前位置: 首页 > news >正文

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.py、callbacks.py、layout.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 = layoutif __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 dcclayout = 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
http://www.lryc.cn/news/210947.html

相关文章:

  • LeetCode 面试题 16.06. 最小差
  • css-表格样式
  • Linux对网络通信的实现
  • 【开源】基于SpringBoot的车险自助理赔系统的设计和实现
  • 减少磁盘读/写中延迟时间的方法(交替编号,错位命名)
  • Perl爬虫程序
  • UE5使用Dash插件实现程序化地形场景制作
  • 23种设计模式(10)——门面模式
  • 磨人的Ts
  • 一个基于Excel模板快速生成Excel文档的小工具
  • 服务器动态/静态/住宅/原生IP都是什么意思
  • 缓解大模型幻觉问题的解决方案
  • Python装饰器进阶:深入理解与最佳实践
  • 数据库数据恢复—Oracle数据库报错ORA-01110错误的数据恢复案例
  • 如何通过adb控制安卓手机wifi
  • VR全景应用广泛体现在哪里?有何优势?
  • 【深度学习】Python使用指定gpu运行代码
  • 二叉树的遍历
  • 分布式限流:Redis
  • python excel接口自动化测试框架
  • Java开发面试--MongoDB专区
  • 当『后设学习』碰上『工程学思维』
  • 一表谈现实、系统、流程、报表与BI
  • 数据结构顺序栈例题一
  • 大模型在百度智能问答、搜索中的应用
  • ARPG----C++学习记录01日志和调试
  • 3302. 表达式求值, 栈的应用
  • 论文写作框架示例:论软件系统建模方法及其应用
  • Godot 官方2D C#重构(4):TileMap进阶使用
  • Ubuntu系统编译调试QGIS源码保姆级教程