flask 模拟简单的登录功能(1)

模拟简单的登录功能

首先,在app.py中定义路由,用户访问根路径时,渲染 login.html 页面。输入用户名密码点击提交后,判断用户名密码是否正确,正确则提示登录成功,否则将报错信息显示在页面上

python 复制代码
from flask import Flask,redirect,url_for,request,render_template
app = Flask(__name__)

# 根路径
@app.route('/')
def index():
    return render_template('login.html')

# 登录成功
@app.route('/success/<name>')
def success(name):
    return f'welcome {name}!<a href = "/">点击重新登录</a>'

# 直接访问 http://localhost:5000/login ,或者点击提交登录信息后的处理逻辑
@app.route('/login',methods=['POST','GET'])
def login():
    error = None
    if request.method == 'POST':
        user = request.form['username']
        if request.form['username'] != 'admin' or request.form['password'] != 'admin':
            error = '用户名或密码错误,请重试!'
        else:
            print(user)
            return redirect(url_for('success',name = user))
    return render_template('login.html',error = error)

if __name__ == '__main__':
   app.run(debug=True)

login.html 页面入下:

html 复制代码
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
    <form action="http://localhost:5000/login" method="post">
        <table>
            <tr>
                <td>Username</td>
                <td><input type="username" name="username"></td>
            </tr>
            <tr>
                <td>Password</td>
                <td><input type="password" name="password"></td>
            </tr>
            <tr>
                <td><input type="submit" value="Submit"></td>
            </tr>
        </table>
    </form>
    {% if error %}
    <p><strong>Error</strong>:{{error}}</p>
    {% endif %}
</body>
</html>

这样,一个简单的登录功能就做好了。运行app.py,在浏览器输入 http://localhost:5000 即可查看效果。

相关推荐
右耳朵猫AI几秒前
PHP周刊2026W37 | Symfony 三维护版齐发、Laravel AI SDK 0.11、LSP 服务器上线
后端·php·laravel
geovindu7 分钟前
CSharp:Condition Variable Pattern
后端·设计模式·c#·.net·.netcore·条件变量模式·同步型模式
用户298698530148 分钟前
Python 将 HTML 转换为 Word 文档的实践指南
python·html·api
维克兜率天9 分钟前
【维克】模块3总结:从一行空数据,到一个能跑的模型
python·深度学习·算法
飞Link14 分钟前
定积分理论与 Python 仿真完全指南
python·算法
小静AI工程实验室21 分钟前
Python 爬虫翻页为何重复、漏数据?SQLite 复现 OFFSET、复合游标与快照的 8 项检查
爬虫·python·sqlite
Java内核笔记22 分钟前
Spring Boot 4 SSRF 防护源码剖析:InetAddressFilter 挡住内网地址与云元数据
java·后端
夜雪一千29 分钟前
如何使用Python实现音频转文本(ASR语音识别)
python
右耳朵猫AI36 分钟前
Node.js周刊2026W37 | 三处进程崩溃修复、fs 内置 glob、Workers 模块注册表、Vitest 5.0
javascript·后端·node.js
giszhc36 分钟前
腾讯地图瓦片接入方案:一个 Bun 代理,让 Mapbox / Leaflet / OpenLayers 通用
前端·后端