python dash 写一个登陆页 4

界面

在这里插入图片描述

代码:

这里引入了dash_bootstrap_components 进行界面美化 ,要记一些className,也不是原来说的不用写CSS了。

from dash import Dash, html, dcc, callback, Output, Input, State
import dash_bootstrap_components as dbc
app = Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP])
app.layout = dbc.Container([dbc.Row(dbc.Col(html.H1("登录页"), width=12)),dbc.Row([dbc.Col(html.Label("手机号:"), width=2),dbc.Col(dcc.Input(id='input-phone', type='text', placeholder='请输入11位手机号'), width=10),],className="mb-3",),dbc.Row([dbc.Col(html.Label("密码:"), width=2),dbc.Col(dcc.Input(id='input-password', type='password', placeholder='请输入6位密码'), width=10),],className="mb-3",),dbc.Row(dbc.Col(html.Button('登录', id='login-button', className="btn btn-primary"), width=12),className="mb-3",),dcc.Store(id='toast-store', data={'is_open': False, 'message': ''}),dbc.Row(dbc.Col(html.Div(id='toast-container', children='', className="alert alert-warning"), width=12),className="mb-3",),],className="mt-5",
)@app.callback([Output('toast-store', 'data'),Output('toast-container', 'children')],[Input('login-button', 'n_clicks')],[State('input-phone', 'value'),State('input-password', 'value')]
)
def check_login(n_clicks, phone='', password=''):if n_clicks is None:message = ''return {'is_open': True, 'message': message}, messageelse:# 这里可以添加具体的登录验证逻辑# 为了演示,此处只是简单判断手机号和密码是否都是数字if phone is None or password is None:message = '手机号或密码格式不正确,请重新输入!'return {'is_open': True, 'message': message}, messageif not phone.isdigit() or not password.isdigit():message = '手机号或密码格式不正确,请重新输入!'return {'is_open': True, 'message': message}, messageelse:message = '登录成功!'return {'is_open': True, 'message': message}, message
if __name__ == '__main__':app.run_server(debug=True)

以上代码里有state:
在Dash中,state是指存储和管理应用程序中的数据的机制。它允许您在不重新加载整个页面的情况下更新应用程序的内容。

State可以用于存储应用程序中的用户输入、选项选择、计数器、图表数据等等。使用state可以使Dash应用程序变得更交互和动态。

您可以通过使用@app.callback装饰器来更新state。当某个组件中的事件或输入发生变化时,回调函数会被触发,并且可以更新相应的state。然后,Dash会自动更新与该state相关的组件。

下面是一些使用state的常见用法:

  1. 存储输入:您可以使用state来存储用户在文本框中输入的值,并在应用程序的其他部分中使用这些值。例如,您可以在一个文本框中输入关键字,然后用这个关键字更新一个图表的内容。

  2. 管理选项:您可以使用state来存储用户在下拉菜单或单选按钮中选择的选项,并根据选项的变化来更新应用程序的显示内容或处理逻辑。

  3. 更新计数器:您可以使用state来存储一个计数器的值,并使用按钮或其他触发器来更新该值。例如,您可以使用state来实现一个简单的点击计数器。

  4. 控制图表数据:您可以使用state来存储图表中的数据,并根据用户的操作来更新数据。例如,您可以在一个表格中显示某个地区的销售数据,并使用下拉菜单来切换不同的地区。

总之,state是Dash中管理数据的一种强大机制,可以使您的应用程序更加交互和动态。通过使用state,您可以将用户输入和应用程序的显示内容等进行有效地关联和更新。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/225362.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Linux] MySQL数据表(数据结构)管理

一、数据库 1.1 数据库的基本概念 数据库(database)是用来组织、存储和管理数据的仓库 数据库管理系统(DBMS):是实现对数据有效组织,管理和存取的系统软件。 数据的建立和维护功能,数据定义…

STM32实战之深入理解I²C通信协议

目录 IC的物理层 IC的协议层 IC特点 IC 总线时序图 软件模拟IC时序分享 例程简介 例程分享 STM32的IC外设 IIC(Inter-Integrated Circuit),也称为IC或TWI(Two-Wire Interface),是一种广泛使用的串行…

Apache Flink 进阶教程(六):Flink 作业执行深度解析

目录 前言 Flink 四层转化流程 Program 到 StreamGraph 的转化 StreamGraph 到 JobGraph 的转化 为什么要为每个 operator 生成 hash 值? 每个 operator 是怎样生成 hash 值的? JobGraph 到 ExexcutionGraph 以及物理执行计划 Flink Job 执行流程…

什么是EMC工程师?

摘要: 今天来介绍一下什么是EMC工程师。一 EMC工程师起源要了解什么是EMC工程师,我们首先要了解什么是EMC。 今天来介绍一下什么是EMC工程师。 一 EMC工程师起源 要了解什么是EMC工程师,我们首先要了解什么是EMC。 工程师这个职业相信大家都耳熟能详…

Maven之插件入门

官方文档&#xff1a;https://maven.apache.org/guides/plugin/guide-java-plugin-development.html 命名规范 <yourplugin>-maven-plugin 创建项目 生成项目 方式一、IDEA 2023 方式二、命令行 mvn archetype:generate -DgroupIdcn.lsj -DartifactIdhello-maven-pl…

接口测试学习笔记

文章目录 认识urlhttp协议接口规范Postman实现接口测试设计接口测试用例使用软件发送请求并查看响应结果Postman 自动关联Postman如何提交multipart/form-data请求数据Postman如何提交查询参数Postman 如何批量执行用例单接口测试Postman 断言Postman参数化 接口测试自动化requ…

RabbitMQ入门指南(九):消费者可靠性

专栏导航 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、消费者确认机制 二、失败重试机制 三、失败处理策略 四、业务幂等性 1.通过唯一标识符保证操作的幂等性 2.通过业务判断保证操作的幂等性 总结 前言 RabbitMQ是一个高效、可靠的开源消息队列系…

TikTok地理标签:通过短视频游走全球景点

TikTok&#xff0c;这个全球短视频平台&#xff0c;不仅是创意的播放场所&#xff0c;更是连接全球用户的数字旅行通道。通过TikTok的地理标签&#xff0c;用户可以在短视频中游走于世界各地的景点&#xff0c;感受异国风情&#xff0c;分享旅行心情。本文将深入探讨TikTok地理…

7.3 uvm_config_db in UVM

uvm_config_db类派生自uvm_resource_db类。它是uvm_resource_db顶部的另一层便利层&#xff0c;简化了用于uvm_component实例的基本接口&#xff08;资源库的访问方法&#xff09;。 下面uvm_config_db类的代码段取自uvm源代码。 class uvm_config_db#(type Tint) extends uv…

【GitHub精选项目】短信系统测试工具:SMSBoom 操作指南

前言 本文为大家带来的是 OpenEthan 开发的 SMSBoom 项目 —— 一种用于短信服务测试的工具。这个工具能够发送大量短信&#xff0c;通常用于测试短信服务的稳定性和处理能力。在合法和道德的范畴内&#xff0c;SMSBoom 可以作为一种有效的测试工具&#xff0c;帮助开发者和系统…

【编译原理】基于词法分析器的LL1语法分析器

【编译原理】基于词法分析器的LL1语法分析器 实验要求 设计一个满足以下要求的⽂法&#xff1a; &#xff08;1&#xff09;识别只包含变量声明语句和执行语句程序段的语法结构合法性&#xff1b; &#xff08;2&#xff09;变量声明中只使用int,char,float 3类基本类型&…

Android studio 花式按键

一、activity_main.xml代码&#xff1a; <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.a…

【C++】STL 容器 - list 双向链表容器 ① ( 容器特点 | 容器操作时间复杂度 | 构造函数 )

文章目录 一、 list 双向链表容器简介1、容器特点2、容器操作时间复杂度3、遍历访问5、头文件 二、 list 双向链表容器 构造函数1、默认无参构造函数2、创建包含 n 个相同元素的 list 双向链表3、使用初始化列表构造 list 双向链表4、使用另外一个 list 容器 构造 list 双向链表…

【Java基础】Java中异常分类,他们之间的区别?

&#x1f341;Java中异常分哪两类 &#x1f341;Java中异常类&#x1f341;受检异常&#x1f341;非受检异常 &#x1f341;拓展知识仓&#x1f341;什么是Throwable&#x1f341;Error和Exception的区别和联系&#x1f341; 列举几个常用的RuntimeException&#x1f341;Java异…

关于“Python”的核心知识点整理大全41

目录 scoreboard.py game_functions.py game_functions.py 14.3.8 显示等级 game_stats.py scoreboard.py scoreboard.py scoreboard.py game_functions.py game_functions.py alien_invasion.py 14.3.9 显示余下的飞船数 ship.py scoreboard.py 我们将最高得分圆整…

微信这样分类客户,帮你轻松提升业绩!

无论是什么行业&#xff0c;都会遇到各种各样的客户&#xff0c;能不能成交这些客户&#xff0c;关键的一点在于有没有明确的客户分类。 今天就给大家分享几个高效分类客户的方法&#xff0c;帮助大家提高成交率和业绩。 1、分组管理 在微信中创建不同的分组&#xff0c;比如…

MyBatis——MyBatis的缓存

MyBatis的缓存 创建工程&#xff1a; 1缓存介绍 为什么使用缓存&#xff1f; 首次访问时&#xff0c;查询数据库&#xff0c;并将数据存储到内存中&#xff1b;再次访问时直接访问缓存&#xff0c;减少IO、硬盘读写次数、提高效率 Mybatis中的一级缓存和二级缓存&#xff1f;…

IP 地址归属地查询

IP 地址归属地查询 1. IP 地址归属地查询2. IP 地址归属地查询References 1. IP 地址归属地查询 https://tool.lu/ip/index.html 2. IP 地址归属地查询 https://www.ip.cn/ip/.html References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

【JavaScript】Set、Map、WeakSet、WeakMap

✨ 专栏介绍 在现代Web开发中&#xff0c;JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性&#xff0c;还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言&#xff0c;JavaScript具有广泛的应用场景&#x…

Gin框架之使用 go-ini 加载.ini 配置文件

首先,联想一个问题,我们在部署服务时,通常为了方便,对于需要迭代更新的代码进行修改,但是比对shell,可以搞一个变量将需要修改的,以及修改起来变动处多的,写在变量内,到时候如果需要变更,可以直接变更变量即可; 那么,golang有没有什么方式可以将需要变的东西保存起…