Flask是一个轻量级Python Web框架,核心简洁、扩展灵活,适合初学者理解Web开发本质和快速搭建原型、API或小型系统;它不强制依赖特定组件,支持按需集成SQLAlchemy、WTForms等工具。
Flask是一个轻量级的Python Web框架,核心简洁、扩展灵活。它不强制使用特定的数据库、表单验证或用户认证方案,而是让你按需选择组件(比如用SQLAlchemy操作数据库、用WTForms处理表单)。这种“微框架”设计特别适合初学者理解Web开发本质,也适合快速搭建原型、API服务或小型后台系统。
安装Flask后,只需几行代码就能跑起一个Web服务:
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 即可看到响应注意:debug=True 仅用于开发,上线前必须关闭,否则会暴露调试信息。
Flask通过装饰器定义路由,支持变量提取和请求方法区分:
立即学习“Python免费学习笔记(深入)”;
from flask import request
@app.route('/search')
def search():
q = request.args.get('q', '') # GET参数
data = request.form.get('content') # POST表单
return f'Searching for: {q}'
Flask默认支持Jinja2模板引擎,让HTML与Python逻辑分离:
myapp/
app.py
templates/
index.html
static/
style.css
script.js
{{ title }}
实际项目需要环境区分和数据存储。Flask提供配置对象和扩展机制:
from flask_sqlalchemy import SQLAlchemy
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
不复杂但容易忽略