Flask 是一个轻量级的 Web 应用框架,用 Python 编写。它是一个开源项目,广泛应用于各种 Web 应用开发中。

简介

Flask 旨在实现 WSGI 协议,并提供了简单易用的 API,让开发者可以快速搭建 Web 应用。Flask 的核心非常轻量,但它也提供了许多扩展,如 Flask-Migrate、Flask-Login 等,可以满足更复杂的需求。

安装 Flask

首先,你需要安装 Python。然后,使用 pip 命令安装 Flask:

pip install flask

快速开始

以下是一个简单的 Flask 应用示例:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

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

运行上述代码后,访问 http://127.0.0.1:5000/,你将看到 "Hello, World!"。

路由和视图函数

Flask 使用路由和视图函数来处理请求。路由定义了 URL 与视图函数的映射关系。

@app.route('/')
def index():
    return 'Welcome to the homepage!'

在这个例子中,当访问根路径 / 时,会调用 index 函数。

模板

Flask 使用 Jinja2 作为模板引擎。你可以使用模板来动态生成 HTML 页面。

<!DOCTYPE html>
<html>
<head>
    <title>{{ title }}</title>
</head>
<body>
    <h1>{{ heading }}</h1>
    <p>{{ paragraph }}</p>
</body>
</html>

在 Flask 中,你可以这样渲染模板:

from flask import render_template

@app.route('/template')
def template():
    return render_template('template.html', title='Template', heading='Hello, Template!', paragraph='This is a paragraph.')

数据库

Flask 可以与多种数据库集成,如 SQLite、MySQL、PostgreSQL 等。以下是一个使用 Flask-SQLAlchemy 扩展连接 SQLite 数据库的例子:

from flask_sqlalchemy import SQLAlchemy

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db'
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)

@app.route('/add_user')
def add_user():
    new_user = User(username='new_user', email='new_user@example.com')
    db.session.add(new_user)
    db.session.commit()
    return 'User added!'

扩展阅读

更多关于 Flask 的信息,请访问 Flask 官方文档

图片示例

Flask Logo