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 官方文档。