Flask 简介

Flask 是一个基于 Python 的轻量级 Web 框架,因其简洁、灵活和易扩展的特性,成为开发小型到中型 Web 应用的热门选择。Flask 不强制使用特定的项目结构或工具链,开发者可以根据需求自由组合扩展库。

安装 Flask

确保已安装 Python(推荐 3.6+版本),通过 pip 安装 Flask:

pip install flask

验证安装是否成功:

python -c "import flask; print(flask.__version__)"

最小化应用示例

创建一个名为 app.py 的文件,写入以下代码:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, Flask!'

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

运行应用:

python app.py

访问 http://127.0.0.1:5000 即可看到输出结果。

路由与视图函数

Flask 使用 @app.route 装饰器定义 URL 规则。视图函数返回响应内容,支持字符串、HTML 或 JSON。

@app.route('/user/<username>')
def show_user(username):
    return f'User: {username}'

动态路由通过 <variable> 捕获 URL 中的参数。

模板渲染

Flask 集成 Jinja2 模板引擎。创建 templates 文件夹,编写模板文件(如 index.html):

<h1>Hello, {{ name }}!</h1>

在视图函数中渲染模板:

from flask import render_template

@app.route('/greet/<name>')
def greet(name):
    return render_template('index.html', name=name)

静态文件处理

静态文件(CSS/JS/图片)应放在 static 文件夹中,通过 url_for 生成引用路径:

<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">

请求与响应

Flask 通过 request 对象处理客户端数据,如表单或 JSON:

from flask import request

@app.route('/login', methods=['POST'])
def login():
    username = request.form['username']
    return f'Logged in as {username}'

扩展库推荐

  • Flask-SQLAlchemy:数据库集成
  • Flask-WTF:表单验证
  • Flask-Login:用户认证
  • Flask-RESTful:构建 REST API

部署建议

开发环境使用 app.run(),生产环境推荐搭配 Gunicorn 或 uWSGI,并通过 Nginx 反向代理提升性能。

通过以上步骤,可以快速构建一个功能完整的 Flask 应用。Flask 的模块化设计允许开发者逐步扩展功能,适合从原型开发到生产部署的全流程需求。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐