最新要闻
- 当前头条:猛男最爱!Xbox手柄新配色“浪漫粉”今晚发售 网友惊了
- 当前快播:唯一16GB显存!宏碁Intel Arc A770旗舰显卡降价:2380元最便宜
- 直降700元 小牛G2/G2s部分车型促销:理论续航60-90公里
- 环球速讯:曾靠6字赚苹果上千万的汉王 怎么就搭上ChatGPT的风口
- 环球看热讯:你喝奶 选哪个品牌放心?蒙牛回应男子买酸奶打开全是清水
- RTX 30别买了 高性价比RTX 40游戏本杀到:价格屠夫还是这两家
- 全球观速讯丨40S精梳棉 裸感体验:老牌宜而爽平角裤39元4条发车
- 环球讯息:短信不死
- 全球关注:检测到外星生命“存在证据”!“三体人”要来了吗?
- 天天报道:吉利赚了10个沃尔沃
- 全球最新:多家游戏公司招聘客服实为找托:引导玩家氪金
- 即时看!长城大力布局新能源 哈弗如歌、枭龙曝光:外观个性均可上绿牌
- 明天是情人节!全国多地现巨型玫瑰
- 世界看热讯:谁说鱼只有7秒记忆?研究首次证明鱼能认出自己的脸
- 今日热闻!马斯克“黑子”自费400万元 把特斯拉FSD负面广告送上美国超级碗
- 旅日大熊猫香香将要回国了:被赞“呆萌可爱迷倒游客”
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
今日热闻!03.Python Dash网页开发:多页面网站制作
(资料图)
需求:写一个多网页的网站,包括header、footer、菜单包括主页home、博客blog(外部链接到博客)、about(自我介绍页面)
home页面包括一个旋转木马(几张图片循环播放)、再下边单个APP点击后进入可以分析)。
其中第一个APP是shiny APP,用外部网址链接到shiny网站,其他APP是DASH 示例APP。
网站大概满足了功能需求,但是美化细节还没做到...
源代码文件夹
├── app.py├── pages│ ├── about.py│ ├── home.py│ ├── iris.py│ └── not_found_404.py└── static ├── about.md └── images ├── profile.jpg └── slide0.jpg
主要APP入口
import dashfrom dash import Dash, dcc, html, Input, Output, callbackimport plotly.express as pximport dash_bootstrap_components as dbcdbc_css = "https://cdn.jsdelivr.net/gh/AnnMarieW/dash-bootstrap-templates@V1.0.4/dbc.min.css"app = Dash(__name__, external_stylesheets=[dbc.themes.MINTY, dbc_css], use_pages=True)navbar = dbc.NavbarSimple( [ dbc.NavItem(dbc.NavLink("Home", href="/")), dbc.NavItem(dbc.NavLink("Blog", href="https://www.baidu.com")), dbc.NavItem(dbc.NavLink("About", href="/about")), ], brand="Bioinformatics Quest", brand_href="#", color="primary", dark=True,)app.layout = dbc.Container( [ dbc.Row(dbc.Col(navbar,width=8),class_name="d-flex justify-content-center mt-2 mb-2"), dbc.Row( dbc.Col( dash.page_container, width=8, # style={"height": "85vh"} ) ,class_name="mh-100 d-flex justify-content-center" ), dbc.Row( html.Footer("2023 Bioinformatics Quest All Right Reserved.",className="d-flex justify-content-center") ,class_name="d-flex justify-content-center" ) ], fluid=True, # class_name="grid gap-0 row-gap-3")if __name__ == "__main__": app.run_server(debug=True)
home页面
每个页面都需要用dash.register_page(name, path="/") 声明是一个页面,path="/"设置路径为根路径
import dashfrom dash import html, dccimport dash_bootstrap_components as dbcdash.register_page(__name__, path="/")carousel = dbc.Carousel( items=[ { "key": "1", "src": "/static/images/slide1.jpg", "header": "With header ", "caption": "and caption", }, { "key": "2", "src": "/static/images/slide1.jpg", "header": "With header only", "caption": "", }, { "key": "3", "src": "/static/images/slide1.jpg", "header": "", "caption": "This slide has a caption only", }, ], class_name="vw-30", # style={"maxWidth": "600px"}, ride="carousel")def make_card(txt,img,href): _card = dbc.Card( [ # dbc.CardHeader(header, style={"textAlign":"center"}), dbc.CardImg(src="/static/images/"+img,className="img-fluid rounded-start col-md-2"), dbc.CardBody( [ html.P(txt, style={"textAlign":"center"}), dbc.Button("go to analysis", color="primary",href=href, class_name="d-flex justify-content-center p-3"), ], ), ], className="border-0 bg-transparent g-col-3", # style={"width": "12rem"}, ) return _cardlayout = dbc.Container( [ dbc.Row(carousel,class_name="h-25"), html.Br(), dbc.Row( dbc.CardGroup( [ make_card(txt="C. elegans survival analysis",img="slide0.jpg",href="https://bioquest.shinyapps.io/cesa"), make_card(txt="iris",img="slide0.jpg",href="/iris"), make_card(txt="iris",img="slide0.jpg",href="/iris"), make_card(txt="iris",img="slide0.jpg",href="/iris"), ], class_name = "grid gap-3" ), # class_name="d-flex justify-content-center" ), dbc.Row( [ dbc.Col( make_card(txt="iris",img="slide0.jpg",href="/iris"),width=3, ) ] ) ], )
DASH APP
dash.register_page(name)声明网址为 py文件名,即点击go analysis后跳转到http://127.0.0.1:8050/iris
因为文件名为iris.py
如果在子页面写callback需要把app.layout和@app.callback中的app去掉
import dashimport dash_bootstrap_components as dbcimport pandas as pdimport plotly.graph_objs as gofrom dash import Input, Output, dcc, html, callbackfrom sklearn import datasetsfrom sklearn.cluster import KMeansiris_raw = datasets.load_iris()iris = pd.DataFrame(iris_raw["data"], columns=iris_raw["feature_names"])dash.register_page(__name__)controls = dbc.Card( [ html.Div( [ dbc.Label("X variable"), dcc.Dropdown( id="x-variable", options=[ {"label": col, "value": col} for col in iris.columns ], value="sepal length (cm)", ), ] ), html.Div( [ dbc.Label("Y variable"), dcc.Dropdown( id="y-variable", options=[ {"label": col, "value": col} for col in iris.columns ], value="sepal width (cm)", ), ] ), html.Div( [ dbc.Label("Cluster count"), dbc.Input(id="cluster-count", type="number", value=3), ] ), ], body=True,)layout = dbc.Container( [ html.H1("Iris k-means clustering"), html.Hr(), dbc.Row( [ dbc.Col(controls, md=4), dbc.Col(dcc.Graph(id="cluster-graph"), md=8), ], align="center", ), ], fluid=True,)@callback( Output("cluster-graph", "figure"), [ Input("x-variable", "value"), Input("y-variable", "value"), Input("cluster-count", "value"), ],)def make_graph(x, y, n_clusters): # minimal input validation, make sure there"s at least one cluster km = KMeans(n_clusters=max(n_clusters, 1)) df = iris.loc[:, [x, y]] km.fit(df.values) df["cluster"] = km.labels_ centers = km.cluster_centers_ data = [ go.Scatter( x=df.loc[df.cluster == c, x], y=df.loc[df.cluster == c, y], mode="markers", marker={"size": 8}, name="Cluster {}".format(c), ) for c in range(n_clusters) ] data.append( go.Scatter( x=centers[:, 0], y=centers[:, 1], mode="markers", marker={"color": "#000", "size": 12, "symbol": "diamond"}, name="Cluster centers", ) ) layout = {"xaxis": {"title": x}, "yaxis": {"title": y}} return go.Figure(data=data, layout=layout)# make sure that x and y values can"t be the same variabledef filter_options(v): """Disable option v""" return [ {"label": col, "value": col, "disabled": col == v} for col in iris.columns ]# functionality is the same for both dropdowns, so we reuse filter_optionscallback(Output("x-variable", "options"), [Input("y-variable", "value")])( filter_options)callback(Output("y-variable", "options"), [Input("x-variable", "value")])( filter_options)
简历信息
import dashfrom dash import html, dccimport dash_bootstrap_components as dbcdash.register_page(__name__)card_about = dbc.Card( [ dbc.Row( [ dbc.Col( dbc.CardImg( src="/static/images/profile.jpg", className="img-fluid rounded-start", ), className="col-md-6 img-thumbnail mx-auto d-block", ), dbc.Col( dbc.CardBody( [ html.P("Chongyang Wang 王重阳"), html.P("TEL&Wechat: +86 18983376561"), html.P("Email: yehior@qq.com"), ], class_name = "font-weight-bold", style={"font-size": "17px"}, ), className="col-md-6 d-flex align-items-center", ), ], className="", ) ], className="mb-3 w-90", style={"maxWidth": "600px"}, outline=True )md_text = open("static/about.md", encoding="utf-8").readlines()layout = dbc.Container( [ html.Br(), card_about, dcc.Markdown(md_text) ] )
Reference
https://github.com/AnnMarieW/dash-multi-page-app-demoshttps://dash.plotly.com/urlshttps://github.com/ucg8j/awesome-dashhttp://dash-bootstrap-components.opensource.faculty.ai/docs/themes/explorer/https://www.youtube.com/watch?v=pJMZ0r84Rqshttps://www.youtube.com/watch?v=Hc9_-ncr4nUhttps://www.youtube.com/watch?v=MtSgh6FOL7Ihttps://www.runoob.com/bootstrap5/bootstrap5-tutorial.html
-
今日热闻!03.Python Dash网页开发:多页面网站制作
需求:写一个多网页的网站,包括header、footer、菜单包括主页home、博客blog(外部链接到博客)、about...
来源: 今日热闻!03.Python Dash网页开发:多页面网站制作
【环球报资讯】二叉树的深度之DFS、BFS
当前头条:猛男最爱!Xbox手柄新配色“浪漫粉”今晚发售 网友惊了
当前快播:唯一16GB显存!宏碁Intel Arc A770旗舰显卡降价:2380元最便宜
直降700元 小牛G2/G2s部分车型促销:理论续航60-90公里
环球速讯:曾靠6字赚苹果上千万的汉王 怎么就搭上ChatGPT的风口
环球看热讯:你喝奶 选哪个品牌放心?蒙牛回应男子买酸奶打开全是清水
RTX 30别买了 高性价比RTX 40游戏本杀到:价格屠夫还是这两家
全球观速讯丨40S精梳棉 裸感体验:老牌宜而爽平角裤39元4条发车
环球讯息:短信不死
全球关注:检测到外星生命“存在证据”!“三体人”要来了吗?
天天报道:吉利赚了10个沃尔沃
记录--数组去重的五种方法
每日看点!D. Moscow Gorillas
环球热消息:Microsoft Azure 教程_编程入门自学教程_菜鸟教程-免费教程分享
环球百事通!文盘Rust -- 领域交互模式如何实现
打开MASA Blazor的正确姿势1:目录&MASA Blazor是???
全球最新:多家游戏公司招聘客服实为找托:引导玩家氪金
即时看!长城大力布局新能源 哈弗如歌、枭龙曝光:外观个性均可上绿牌
明天是情人节!全国多地现巨型玫瑰
世界看热讯:谁说鱼只有7秒记忆?研究首次证明鱼能认出自己的脸
今日热闻!马斯克“黑子”自费400万元 把特斯拉FSD负面广告送上美国超级碗
【Oculus Interaction SDK】(八)特殊的 UI(曲面效果 & 手指点击)
环球最新:并行执行异步方法的最佳实践
全球快播:react 中componentDidMount 只加载一次的解决办法
微头条丨ChatGPT爆火,释放了什么不寻常信号?
每日快看:Git下载、安装与配置
旅日大熊猫香香将要回国了:被赞“呆萌可爱迷倒游客”
【世界播资讯】年销35万台无悬念!李想:L8/L7 Air版交付后月销3万保底
牛皮吹大 全球首款量产太阳能电动车:黄了
全球报道:奔驰将在中国启动L3有条件自动驾驶测试:开车不用看路 事故奔驰担责
环球观天下!吴易昺网球ATP赛事夺冠创造历史 你会读吗?央视科普昺:让世界认识这字
焦点热文:[WPF] 使用Silk.NET绘制D3D9或OpenGL内容并完美解决空域问题。
今日热议:【DSP视频教程】第11期:插补算法,曲线拟合丝滑顺畅,统计函数和基础函数加速实现,汇集SIMD,饱和和MAC乘累加应用实战(2023-02-12)
每日热议!【OpenGL+Qt 学习】 你好,三角形
全球微资讯!《焦虑症的自救》焦虑症反反复复?还在为恐惧和焦虑苦恼?快来领取焦虑症自愈宝典!
焦点速读:曾经的国民神车 新款哈弗H6亮相:换张脸、动力更强
你敢开不?特斯拉大雾中自动辅助驾驶 “狂飙”至86km/h
全球即时:少见!女子家中大巨蛋磕开竟是蛋中蛋 最终收获两枚蛋黄:科普原因
世界最新:全新比亚迪宋Pro DM-i申报图出炉:前脸比Plus还凌厉
券后9块9!汤臣倍健维生素D钙片大促:手慢真的无
全球热议:使用cnn,bpnn,lstm实现mnist数据集的分类
热门:ASP.Net WP 教程_编程入门自学教程_菜鸟教程-免费教程分享
每日热文:为什么这11道JVM面试题这么重要(附答案)
环球今日讯!修改Linux内核版本信息的方法
联想小新16 2023轻薄本官宣: 普及2.5K高清大屏、1TB硬盘
你会答?深圳一电子厂入职考数理化、《庄子》和英语等 网友吐槽难:厂商回应
开眼!一宝马车高速行驶未松手刹 四个车轮全磨红了
众泰“亡者归来”推出首款电动车 江南U2正式开售:5.88万起
找数组中重复的数字
最资讯丨十年老程序员:再见了Navicat,以后多数据库管理就看这款SQL工具
【Spring】Bean装配类注解
环球实时:广东最狂野民俗盐拖灶神刷爆网络 场面激烈:堪称我国最热血民俗
微资讯!深圳夜空出现三个不明发光飞行物:飞速掠过
【全球新视野】ASP.Net 教程_编程入门自学教程_菜鸟教程-免费教程分享
今日快讯:连续开车8小时!男子长期久坐后被诊断截瘫 医生提醒
天天快资讯丨丰田顶级名车!世纪SUV最新效果图曝光:有“大汉兰达”那味了
世界热资讯!众泰汽车破产清算 一保时捷Macan将被拍卖!网友:当年皮尺部首车?
当前信息:注意!长期空气污染增加患抑郁症风险:甚至会致死
世界热点! 新型合成皮肤面世:有望解开蚊子传播致命疾病之谜
必知必会的设计原则——迪米特原则
环球关注:20万燃油车能比?百万级轿跑底盘助力:哪吒S麋鹿测试80km/h稳过
【新要闻】看看你的工作会被取代吗?ChatGPT时代生存攻略:未来“高枕无忧”的10种工作
快看:原美团创始人王慧文进军人工智能:称将打造中国的OpenAI
一加Ace 2首销战报出炉:37分钟打破近一年所有安卓机首销全天记录!
德国最新电商周销量:AMD完胜Intel
鼠标不能拖动文件是怎么回事?鼠标不能拖动文件夹怎么解决?
苹果ipad充不上电是什么原因?苹果ipad怎么使用?
YY个人积分怎么计算?yy个人积分在哪里查看?
如何选购抽油烟机?抽油烟机十大名牌排名
word打不开是什么原因?word打不开怎么解决?
固态水指的是什么?固态水冻结状态持续多久?
乌鲁木齐机场属于什么区?乌鲁木齐机场到火车站需要多长时间?
DataX二次开发——HdfsReader和HdfsWriter插件增加parquet文件读写
全链路异步,让你的 SpringCloud 性能优化10倍+
每日焦点!机器学习-SVM
金色枫叶是什么意思?金色枫叶相关的成语有哪些?
无人生还的凶手是谁?无人生还的人物介绍
逆生长是什么意思?人怎么才能逆生长?
快讯:“小行星”撞地球今日中午上演!法国、英国、荷兰均肉眼可见
十大全系标配!长安逸达一出场 就把压力给到合资了
【世界速看料】别迷信日本制造!董明珠:格力中央空调国内第一创历史 日立大金都不行
国产最帅电动猎装车成了!极氪已交付8万台:完成7.5亿美元A轮融资 杀向全球前三
黄旭东评价李培楠《星际争霸2》夺冠:这一刻等了20年!
速讯:Redmi K60官宣降价:2999元普及512GB存储、老用户保价+送手环
不花钱每天能跑12公里 印度首款太阳能汽车亮相:像是“三蹦子”
世界即时:ChatGPT惊动谷歌创始人:罕见出山检查Bard AI代码数据
热议:曝宁德时代将赴美建厂:福特出地出厂房 “宁王”出技术
当前速读:实测用微软ChatGPT写求职信:“不道德”、被拒绝
天天滚动:安全圈最新重大数据泄露事件
世界最新:移动端重排版PDF阅读器比较
Flink 积压问题排查
全球视点!重新思考 Vue 组件的定义
环球快讯:读Java实战(第二版)笔记08_默认方法
当前观点:Opera新版本集成ChatGPT:一键生成网页内容摘要
全球信息:车圈美女测2023新款比亚迪秦PLUS DM-i:1箱油跨8省1300km 油耗3.49L/100km
动态:如何在Debian 11上安装Docker Swarm集群
fusion app登录注册示例
多家快递回应站点派件延迟问题:寄送时效要看站点运力恢复如何
格芯成都晶圆厂烂尾:紫光集团要接手?