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}, message
    else:
        # 这里可以添加具体的登录验证逻辑
        # 为了演示,此处只是简单判断手机号和密码是否都是数字
        if phone is None or password is None:
            message = '手机号或密码格式不正确,请重新输入!'
            return {'is_open': True, 'message': message}, message

        if not phone.isdigit() or not password.isdigit():
            message = '手机号或密码格式不正确,请重新输入!'
            return {'is_open': True, 'message': message}, message
        else:
            message = '登录成功!'
            return {'is_open': True, 'message': message}, message
if __name__ == '__main__':
    app.run_server(debug=True)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用 KVM 管理程序优化虚拟化

KVM(基于内核的虚拟机)是一项强大的开源虚拟化技术,内置于Linux 内核。它支持在单个物理主机上运行多个虚拟机 (VM),这对于资源效率、服务器整合以及为不同目的创建隔离环境特别有帮助。 本文将深入介绍 KVM 管理程序&#xff0…

MySQL主从架构及读写分离实战

​​​​​​ 目录 一、实验目的与环境 二、基础环境介绍 三、搭建主从集群 1、理论基础 2、同步的原理 3、搭建主从集群 3.1 配置master主服务器 3.2 配置slave从服务 3.3 主从集群测试 3.4 集群搭建扩展: 3.5、GTID同步集群 4、集群扩容 5、半同步复…

Git的总体认知与具体实现

GIt概念 是一种分布式控制管理器 tips:敏捷开发 -> 先上线,后续开发再继续开发 集中式和分布式 集中式的版本控制系统每次在写代码时都需要从服务器中拉取一份下来,并且如果服务器丢失了,那么所有的就都丢失了,你本机客户端仅…

电力系统风储联合一次调频MATLAB仿真模型

微❤关注“电气仔推送”获得资料(专享优惠) 简介: 同一电力系统在不同风电渗透率下遭受同一负荷扰动时,其频率变化规律所示: (1)随着电力系统中风电渗透率的不断提高,风电零惯性响…

要参加微软官方 Copilot 智能编程训练营了

GitHub Copilot 是由 GitHub、OpenAI 和 Microsoft 联合开发的生成式 AI 模型驱动的。 GitHub Copilot 分析用户正在编辑的文件及相关文件的上下文,并在编写代码时提供自动补全式的建议。 刚好下周要参加微软官方组织的 GitHub Copilot 工作坊-智能编程训练营&…

指针:传址调用

#include <stdio.h> void Swap1(int x, int y) {int tmp x;x y;y tmp; } int main() {int a 0;int b 0;scanf("%d %d", &a, &b);printf("交换前&#xff1a;a%d b%d\n", a, b);Swap1(a, b);printf("交换后&#xff1a;a%d b%d\n&…

深度学习(七):bert理解之输入形式

传统的预训练方法存在一些问题&#xff0c;如单向语言模型的局限性和无法处理双向上下文的限制。为了解决这些问题&#xff0c;一种新的预训练方法随即被提出&#xff0c;即BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;。通过在大规模…

sessionStorage可以在多个Tab之间共享数据吗?

文章目录 一、MDN二、求证三、答案四、最后 一、MDN 只读 sessionStorage 属性访问当前源的会话存储对象。sessionStorage与localStorage类似&#xff1b;不同之处在于 localStorage 里面存储的数据没有过期时间设置&#xff0c;而存储在 sessionStorage 里面的数据在页面会话…

《xHCI 1.2》3体系结构概览

3.2 xHCI数据结构 3.2.1 Device Context Base Address Array 3.2.2 Device Context 3.2.3 Slot Context

机器学习——模型评估与选择(拟合、)

【说明】文章内容来自《机器学习——基于sklearn》&#xff0c;用于学习记录。若有争议联系删除。 1、拟合 拟合是指机器学习模型在训练的过程中&#xff0c;通过更新参数&#xff0c;使得模型不断契合可观测数据(训练集)的过程。欠拟合指的是模型在训练和预测表现都不好&…

C# 使用Socket进行简单的通讯

目录 写在前面 代码实现 服务端部分 客户端部分 运行示例 总结 写在前面 在.Net的 System.Net.Sockets 命名空间中包含托管的跨平台套接字网络实现。 System.Net 命名空间中的所有其他网络访问类均建立在套接字的此实现之上。 其中的Socket 类是基于与 Linux、macOS 或 W…

STM32实现三个小灯亮

led.c #include"led.h"void Led_Init(void) {GPIO_InitTypeDef GPIO_VALUE; //???RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//???GPIO_VALUE.GPIO_ModeGPIO_Mode_Out_PP;//???? ????GPIO_VALUE.GPIO_PinGPIO_Pin_1|GPIO_Pin_2|GPIO_P…

使用教程之【SkyWant.[2304]】路由器操作系统,破解移动【Netkeeper】校园网【小白篇】

许多高校目前饱受Netkeeper认证的痛苦&#xff0c;普通路由器无法使用&#xff0c; 教你利用SkyWant的Netkeeper认证软件来使你的SkyWant路由器顺利认证上网&#xff0c;全宿舍又可以合作共赢了&#xff01; 步骤一&#xff1a;正确连接网线&#xff0c;插电开机 正确连接网…

一个简单例子更深入地理解BigQuery 的分区表

首先本文不会讲得很系统&#xff0c; 可以理解为是1个练习&#xff0c; 从这个简单例子中&#xff0c; 我们会体会到分区表与非分区表的操作和效果的区别 准备测试数据 首先&#xff0c; 本人准备了一份csv file &#xff0c; 测试数据&#xff0c; 大概样子如下&#xff1a;…

从零构建tomcat环境

一、官网构建 1.1 下载 一般来说对于开源软件都有自己的官方网站&#xff0c;并且会附上使用文档以及一些特性和二次构建的方法&#xff0c;那么我们首先的话需要从官网或者tomcat上下载到我们需要的源码包。下载地址&#xff1a;官网、Github。 这里需要声明一下&#xff…

Hadoop入门学习笔记——七、Hive语法

视频课程地址&#xff1a;https://www.bilibili.com/video/BV1WY4y197g7 课程资料链接&#xff1a;https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd5ay8 Hadoop入门学习笔记&#xff08;汇总&#xff09; 目录 七、Hive语法7.1. 数据库相关操作7.1.1. 创建数据库7.1.2…

每日一题——LeetCode859

方法一 个人方法&#xff1a; 首先s和goal要是长度不一样或者就只有一个字符这两种情况可以直接排除剩下的情况s和goal的长度都是一样的&#xff0c;s的长度为2也是特殊情况&#xff0c;只有s的第一位等于goal的第二位&#xff0c;s的第二位等于goal的第一位才能满足剩下的我们…

生成allure报告出现:ALLURE REPORT UNKNOWN

问题&#xff1a;点击浏览器查看时无法查看到报告 错误代码&#xff1a; if __name__ "__main__":pytest.main([./test_study/test_fixture.py])os.system("allure generate ./temps -o ./temps --clean") 结果导向&#xff1a; 解决&#xff1a;因为…

ZooKeeper 使用介绍和原理详解

目录 1. 介绍 重要性 应用场景 2. ZooKeeper 架构 服务角色 数据模型 工作原理 3. 安装和配置 下载 ZooKeeper 安装和配置 启动 ZooKeeper 验证和管理 停止和关闭 4. ZooKeeper 数据模型 数据结构和层次命名空间&#xff1a; 节点类型和 Watcher 机制&#xff…

SpringMVC:整合 SSM 上篇

文章目录 SpringMVC - 03整合 SSM 上篇一、准备工作二、MyBatis 层1. dao 层2. service 层 三、Spring 层四、SpringMVC 层五、执行六、说明 SpringMVC - 03 整合 SSM 上篇 用到的环境&#xff1a; IDEA 2019&#xff08;JDK 1.8&#xff09;MySQL 8.0.31Tomcat 8.5.85Maven…