Flask 简单学习应用

Flask是一个基于Python的轻量级Web应用框架。它设计简单、易于使用,同时也具有足够的灵活性和扩展性,使得开发者可以根据项目的需求选择合适的工具和库。

前面是对flask的简单的一些操作应用

首先同级目录创建一个文件夹templates (用于存放html文件),该框架读取文件,在这个文件夹钟读取,然后创建index.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <a href="#">{{jay}}</a>
    <hr/>
    {{lst}}
    <hr/>
    {% for i in lst %}
        {{ i }}
    {% endfor %}
</body>
</html>

在其中{% for i in lst %}: 这表示开始一个for循环,将lst中的每个元素依次赋值给变量i

{{ i }}: 在每次循环中,{{ i }} 将被替换为当前循环迭代的元素的值。这个值将在HTML页面中显示。{% endfor %}: 表示for循环的结束

from flask import Flask, render_template, request

# hello world
# 创建应用程序
# web应用程序
app = Flask(__name__)


# 写一个函数来处理浏览器发送过来的请求
# 路由,你通过浏览器访问过来的请求到底交给谁来处理

# @app.route("/")
# def index():  # 正常的写法
#     # 这里来处理业务逻辑
#     return "hello world"  # 返回的数据->响应
#
#
# @app.route("/ja")
# def sec():
#     return " 我很喜欢周杰伦 "

# @app.route('/')
# def index():
#     return render_template("index.html") # 此时会自动找templates文件夹里面的nello.html

# 把一个变量发送到页面
# @app.route('/')
# def index():
#     # 字符串
#     s = "Hello World!"
#     lst = ["yyyy", "yyyy", "yyyy", "ssss"]
#     return render_template("index.html",jay=s,lst=lst) # 此时会自动找templates文件夹里面的index.html

# 模板 ->  html

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

运行结果我就不一一展示,只展示其中一个 

然后编写简单案例,用户输入用户名和密码,点击登录按钮后,Flask应用程序根据硬编码的用户名和密码进行验证。如果验证成功,将显示成功页面,否则将显示登录页面并包含错误消息。请注意,这只是一个基本示例,实际应用中应使用更安全的身份验证方式 

 首先创建login和success 的html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
    {% if error_message %}
        <p style="color: red;">{{ error_message }}</p>
    {% endif %}

    <form method="post" action="/">
        <label for="username">Username:</label>
        <input type="text" id="username" name="username" required>
        <br>
        <label for="password">Password:</label>
        <input type="password" id="password" name="password" required>
        <br>
        <input type="submit" value="Login">
    </form>
</body>
</html>

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录成功</title>
</head>
<body>
    <h1>登录成功</h1>
</body>
</html>

然后编写代码

@app.route('/', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        # 从表单获取用户名和密码
        username = request.form['username']
        password = request.form['password']

        # 用实际的身份验证逻辑替换这部分
        # 为简单起见,假设一个硬编码的用户名和密码
        if username == 'admin' and password == 'password':
            return render_template('success.html', username=username)
        else:
            error_message = '登录失败,请检查用户名和密码。'
            return render_template('login.html', error_message=error_message)

    # 如果是GET请求,直接渲染登录页面
    return render_template('login.html')

运行结果如下

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值