京公网安备 11010802034615号
经营许可证编号:京B2-20210330
作者:咕隆先森
来源:Python 技术
前段时间刚接触到前端网页开发,但是对于刚入门的小白而言,像flask、Django等这类稍大型的框架确实不太适合,今天这个Dash是集众家之长于一体的轻量化Web开发库。
Dash 是一个用于构建基于 Web 的应用程序的 Python 库,无需 JavaScript 。
Dash 同时也是用于创建分析 Web 应用程序的用户界面库。那些使用 Python 进行数据分析、数据挖掘、可视化、建模、仪器控制和报告的人可以立即使用 Dash 。
Dash 建立在 Plotly.js、React 和 Flask 之上,将现代 UI 元素(如下拉列表、滑块和图形)与你的分析 Python 代码相结合。
提示:本文基于Windows 10、Anaconda 3、Sublime Text,Python版本为3.6.5 个人习惯单独新一个用于dash开发的虚拟环境,创建命令:
conda create -n myenv_dash python==3.6.5
安装Dash的第三方包:
pip install dash
因为是基于Flask,所以系统会自动安装相应的依赖,这里我建议也安装一个额外依赖:dash_bootstrap_components
pip install dash_bootstrap_components
此依赖包含Twitter的bootstrap组件。
from dash import Dash, html, dcc from dash.dependencies import Input, Output import dash_bootstrap_components as dbc
try: # 获取在线bootstrap.min.css app = Dash(__name__, external_stylesheets = ['https://cdn.staticfile.org/twitter-bootstrap/4.5.2/css/bootstrap.min.css'])
print('此网页渲染基于在线的CSS') except: # 获取本地bootstrap.min.css app = Dash(__name__, external_stylesheets = [r"E:DesktopMy_PythonDashcssbootstrap.min.css"])
print('此网页渲染基于本地的CSS')
app.title = '在线汇率计算器'
此处使用的css有在线的和本地的,利用try……except……防止在线的css文件无法加载而导致报错。
代码如下(示例):
# 输出函数,对于重复使用的,定义函数更快捷 def item(name, img_path): return dbc.ListGroupItem([html.H5(name), html.Img(src=img_path), html.H5('---', id=name, className='float-right')])
因为是单输入,多输出,构建item函数可以重复利用,优化代码, 函数参数有货币名称和国旗(提前准备好图片素材,大小建议不要太大,我的图片是160*110)。dbc.ListGroupItem组件可以很好的定位标签、文字; 其中的className='float-right'可以理解为显示样式,代表“靠右浮动”
代码如下(示例):
app.layout = dbc.Container(
children=[
dbc.ListGroup([
dbc.ListGroupItem(children=[
html.H1("汇率计算器-简单版",style={'textAlign': 'center','color':'#272528'}),
html.P('输入:用于兑换外币的人民币数;输出:能兑换到的外币数;单位:单位币值。',style={'textAlign': 'center','color':'#BB002D'}),
dbc.Input(value = 0, id = 'input', type='number')
],active=True),
item('JPY','./assets/Japan.jpg'),
item('USD','./assets/USA.jpg'),
item('GBP','./assets/UK.jpg'),
item('HKD','./assets/Hongkong.jpg'),
item('EUR','./assets/EU.png'),
item('CHF','./assets/France.png'),
item('INR','./assets/India.jpg')
],className='shadow')
],style={'padding':'2rem'}
)
layout为GUI布局,采用列表的模式,根据行列进行排布;style={'textAlign': 'center','color':'#272528'}为文字排布样式设定,为字典类型,可以设置字体,颜色等 dbc.Input(value = 0, id = 'input', type='number')默认value值为0,数据类型为number用于计算;style={'padding':'2rem'}为Container(容器)的居中显示样式,代表画布距离边界的宽度。
代码如下(示例):
@app.callback( output = [
Output('JPY', 'children'),
Output('USD', 'children'),
Output('GBP', 'children'),
Output('HKD', 'children'),
Output('EUR', 'children'),
Output('CHF', 'children'),
Output('INR', 'children')
],
inputs = [Input('input', 'value')]
) def rule(rmb): rmb = rmb if rmb is not None else 0 return ( f'{round(rmb/0.0501,2)} ¥', f'{round(rmb/6.7646,2)} $', f'{round(rmb/8.1682,2)} £', f'{round(rmb/0.8615,2)} ¥', f'{round(rmb/6.8881,2)} €', f'{round(rmb/7.0309,2)} €', f'{round(rmb/0.0852,2)} $' )
@app.callback可以理解为装饰器,用于网页的交互。rule函数用于计算汇率。ps:这里的货币符号不一定全对,意思一些,不用太较真哈!!!
本项目到这里,整个项目就已经完成了,涉及到的一些基础技能,还需要一点功力,好了,今天的分享就到这里,后续会更新如何使用requests爬虫获取实时汇率进行动态汇率换算。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
“2026年考什么证书有用”这个问题,不能用一个榜单回答。同一张证书,对想进门槛岗位的人、想补岗位技能的人、想评职称的人,价 ...
2026-10-21经济学专业考什么证书,没有唯一答案。这个专业的出口本来就分散:有人去银行券商,有人做财会审计,有人转向数据分析,也有人走 ...
2026-10-21大学生考证最常见的误区,是把“证书清单”当成答案。真正有用的做法是先确定专业方向和目标岗位,再按“通用基础→岗位技能→行 ...
2026-10-21“中国证书含金量排行”没有跨行业、跨证书类型的统一权威榜单。准入类证书的价值在于“没有它不能干”,职称类证书的价值在于聘 ...
2026-10-21“现在什么证书含金量高”这个问题,很难用一个榜单回答。同一张证书,对想进教师岗的在校生、想评职称的在职工程师、想补数据分 ...
2026-10-21“大学里什么证书比较有含金量”这个问题,很难用一张榜单回答。同一张证书,对想进银行风控岗的学生可能是加分项,对准备考教师 ...
2026-10-21大学生问“拿什么证书”,真正要解决的不是收集一张榜单,而是判断三件事:这个证书在校期间能不能报,它对应什么岗位的什么工作 ...
2026-10-21“考哪些证书有用”很难用一张榜单回答。同一本证书,对想进会计事务所的人是门槛,对想做运营的人可能只是加分,对工作十年的人 ...
2026-10-21大学生现在能考的证书,主要是三类:不限专业、无工作年限要求的通用基础证书,对应具体岗位技能的证书,以及部分行业入门级认证 ...
2026-10-21先说结论:产品经理升职快,通常不是靠多考几个证,而是把四类能力补到“能拿出可衡量成果”的程度——业务理解与指标定义、数据 ...
2026-10-21产品岗的晋升加薪,通常不是“熬年限”熬出来的,而是三条线同时成立:业务结果能说清、能力结构对得上目标职级、成果拿得出手。 ...
2026-10-21产品策划的“必备技能”没有全行业统一大纲。互联网产品岗要写需求文档、画原型、跟进上线;活动或营销策划岗更侧重活动机制、传 ...
2026-10-21产品策划想快速成长,关键不是把工具学一遍,而是围绕真实工作流补齐判断力。需求调研、方案设计、项目推进、上线复盘这四段,决 ...
2026-10-21产品策划岗的知识体系可以拆成四层:业务与用户理解、需求与方案设计、项目推进协作、数据验证与复盘。这四层不是四门课,而是从 ...
2026-10-21财务人员提升业务技能,核心不是多考几个证,而是按“财务专业实操→业务理解与业财融合→数据分析与工具”三层补齐,再按自己当 ...
2026-10-21财务经理问“怎么快速提升”,最容易走的一条弯路是先报一堆课、考一堆证,回头发现月度工作还是编报表、对差异、催报销。真正拉 ...
2026-10-21数据敏感度常被误解成“对数字反应快”或“会写公式”。对财务经理而言,它更接近一套可重复的动作:看到关键指标变化,能判断是 ...
2026-10-21财务经理这个岗位,最容易出现的认知偏差是把“会计做得好”等同于“能当财务经理”。核算岗位的核心是把账做准、按时出表;财务 ...
2026-10-21财务顾问选课,先别急着看“热门榜单”。同样一门数据分析课,对有财务基础、正卡在方案测算的人有用,对刚转岗、连产品分类和客 ...
2026-10-21财务顾问这个岗位名称,在不同机构里指向的工作并不相同。在银行、券商、保险和第三方财富机构中,理财顾问方向的核心任务是理解 ...
2026-10-21