当前位置: 首页 > 科技观察

Python使用Dash开发web应用

时间:2023-03-15 20:52:30 科技观察

PythonDash开发web应用的控制基础本文主要使用Dash的Checklist组件简单介绍一下使用Dash开发的web应用的展示效果如下:pythondash简单基础Dash应用由分为两部分:第一部分是应用程序的布局(Layout),它描述了应用程序的外观。第二部分描述了应用程序的交互性。1、Dash布局LayoutDash应用的布局描述了应用的外观。布局是组件的分层树。DashHTMLComponents(dash.html)为所有HTML标签和HTML属性关键字参数描述提供类,如style、class和id。Dash核心组件(dash.dcc)生成高级组件,例如控件和图形。DashLayout有几个特点:布局由组件树组成。创建复杂的可重用组件。核心组件模块dash.dcc包含一个名为Graph的组件,它使用开源的plotly.jsJavaScript图形库呈现交互式数据可视化。js支持超过35种图表类型,并使用矢量质量SVG和高性能WebGL渲染图表。详情请参考:plotly.py文档和图库。要编写文本块,您可以使用dash.dcc中的Markdown组件。Dash核心组件(dash.dcc)包括一组更高级别的组件,例如下拉菜单、图形、标记块等。1.Dash的HTML组件Dash是一个Web应用程序框架,提供围绕HTML、CSS和JavaScript的纯Python抽象。不用编写HTML或使用HTML模板引擎,而是使用Python和DashHTML组件模块来组成您的布局。DashHTML组件模块是Dash的一部分,其源代码可以在https://github.com/plotly/dash找到。2.Dash的核心组件Dash配备了交互式用户界面的动态组件。Dash核心组件模块可以通过fromdashimportdcc导入和使用,并允许访问许多交互式组件,包括下拉列表、清单和滑块。dcc模块是Dash的一部分,其源代码可以在https://github.com/plotly/dash找到。2.Checklistdcc.DashCore中的Checklist是一个用来呈现一组复选框的组件。下面我们使用Checklist控件搭建一个简单的项目来说明Dash开发web应用的一些简单内容。Demo的目录结构如下:.└──dash_demo├──app.py└──assets├──favicon.ico└──img├──julia_50px_icon.png├──python_50px_icon.png└──r_50px_icon.pngapp.py内容如下:fromdashimportDash,html,dccapp=Dash(__name__)app.title='DashControlTutorial'app.layout=html.Div(children=[dcc.Checklist(options=['Pythonlanguage','Julialanguage','Rlanguage'],value=['Pythonlanguage','Rlanguage']),dcc.Checklist(options=[{'label':'Python语言','value':'1'},{'label':'Julia语言','value':'2'},{'label':'R语言','value':'3'},],value=['1','3']),dcc.Checklist(options={'1':'Python','2':'Julia','3':'R语言',},value=['1','3']),dcc.Checklist(options=[{'label':html.Img(src=app.get_asset_url('img/python_50px_icon.PNG')),'value':'Python语言',},{'label':html.Img(src=app.get_asset_url('img/julia_50px_icon.png')),'value':'Julia语言',},{'label':html.Img(src=app.get_asset_url('img/r_50px_icon.png')),'value':'R语言',},],value=['Python语言','R语言']),])if__name__=='__main__':app.run_server(debug=True)运行项目:pythonapp.py浏览器访问:http://127.0.0.1:8050。DashDemo简介:assets目录是官方推荐的存放我们Dash应用所依赖的静态资源文件的目录,比如依赖的css、js、favicon.ico、各种图片字体等静态资源。Dash控件有多种使用形式,非常灵活。比如文章中的Checklist,选项的标签(用户看到的)和值(传递给回调的)是等价的。在使用的时候,我们更喜欢将它们分开,这样标签可以方便的改变,而不用改变使用该值的回调逻辑。