前言
如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!
python- Flask模块 demo
Fask 是一个用 Python 编写的轻量级 Web 应用框架。它设计简单、灵活且易于扩展,适合用于构建中小型 Web 应用和 API。
1. 主要特点
- 轻量级:Flask 的核心是简单且轻量的,只有一些基本的功能,没有复杂的默认配置,使其非常灵活。
- 模块化:Flask 采用模块化设计,允许开发者根据需要添加或删除各种扩展,从而只加载所需的功能。
- 易于学习:Flask 的 API 设计直观,文档丰富,适合初学者快速上手。
- 灵活性高:开发者可以根据需求定制应用的各个部分,如路由、模板引擎、数据库等。
2. demo 准备工作
在你的python脚本同级新建templates目录,在下面新建两个html文件
login.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Profile - {{ username }}</title>
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
<header>
<h1>Welcome, {{ username }}!</h1>
</header>
<main>
<p>This is the profile page of {{ username }}.</p>
</main>
<footer>
<p>© 2024 My Flask App</p>
</footer>
</body>
</html>
profile.html:
<!DOCTYPE html>
<html>
<head>
<title>Profile Page</title>
</head>
<body>
<h2>Welcome, {{ username }}</h2>
<p>This is your profile page.</p>
</body>
</html>
3. demo 实例
from flask import Flask, render_template, request, jsonify
app = Flask(__name__)
# 自定义错误处理方法
@app.errorhandler(404)
def handle_404_error(err):
return '页面不存在', 404
# 请求对象
@app.route('/submit', methods=['POST'])
def submit():
data = request.form.get('data')
if data:
# 在这里可以进行数据处理,例如保存到数据库等
return '数据提交成功'
else:
return '数据提交失败'
# 响应对象
@app.route('/api/data')
def get_data():
data = {'key': 'value'}
return jsonify(data)
# 登录页面和登录处理
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form.get('username')
password = request.form.get('password')
# 在实际应用中,这里应该进行用户名密码的验证
if username == 'admin' and password == 'password':
return '登录成功'
else:
return '登录失败,请检查用户名和密码'
else:
return render_template('login.html')
# 用户profile页面
@app.route('/profile/<username>')
def profile(username):
# 假设这里要获取用户信息并显示在profile.html中
# 这里简单地将username传递给模板
return render_template('profile.html', username=username)
# 主页
@app.route('/')
def index():
print('Hello, World!')
return 'Hello, World!'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8082)
4. 测试