Flask 基础用法
什么是 Flask?
Flask 是一个轻量级的 Python Web 框架,适用于构建 API 和 Web 应用。
info
Flask 具有模块化和可扩展的特点,适用于快速开发和微服务架构。
安装 Flask
pip install flask
创建一个 Flask 应用
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
    return "Hello, Flask!"
if __name__ == '__main__':
    app.run(debug=True)
运行上面的代码后,访问 http://127.0.0.1:5000/ 即可看到 Hello, Flask!。
Flask 项目结构
my_flask_app/
│── app.py          # Flask 应用主文件
│── templates/      # HTML 模板
│── static/         # 静态文件 (CSS, JS, Images)
│── requirements.txt # 依赖文件
│── venv/           # 虚拟环境
路由管理
@app.route('/hello/<name>')
def hello(name):
    return f'Hello, {name}!'
CRUD 操作示例
- Python
 
from flask import Flask, request, jsonify
app = Flask(__name__)
# 模拟数据库
data = []
@app.route('/items', methods=['GET'])
def get_items():
    return jsonify(data)
@app.route('/items', methods=['POST'])
def create_item():
    item = request.json
    data.append(item)
    return jsonify(item), 201
@app.route('/items/<int:index>', methods=['PUT'])
def update_item(index):
    if index < len(data):
        data[index] = request.json
        return jsonify(data[index])
    return "Not Found", 404
@app.route('/items/<int:index>', methods=['DELETE'])
def delete_item(index):
    if index < len(data):
        item = data.pop(index)
        return jsonify(item)
    return "Not Found", 404
if __name__ == '__main__':
    app.run(debug=True)
模板渲染示例(Jinja2)
from flask import render_template
@app.route('/welcome')
def welcome():
    return render_template('welcome.html', name='Flask')
templates/welcome.html:
<!DOCTYPE html>
<html>
  <head>
    <title>Welcome</title>
  </head>
  <body>
    <h1>Hello, {{ name }}!</h1>
  </body>
</html>
使用 Flask 和 SQLAlchemy 进行数据库操作
from flask_sqlalchemy import SQLAlchemy
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///data.db'
db = SQLAlchemy(app)
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), nullable=False)
@app.route('/users', methods=['POST'])
def add_user():
    new_user = User(name=request.json['name'])
    db.session.add(new_user)
    db.session.commit()
    return jsonify(new_user.name), 201
结论
Flask 适用于轻量级 Web 开发,其易学易用的特性使其成为 Python 开发者的理想选择。