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')
运行结果如下