引言

Flask 是一个轻量级的 Web 应用框架,由 Armin Ronacher 开发。它以简单、灵活著称,非常适合初学者和有经验的开发者。本文将详细介绍 Flask 的基本概念、实战解析以及实例教学,帮助您轻松上手 Web 开发。

Flask 简介

1.1 Flask 的特点

  • 轻量级:Flask 体积小巧,易于上手。
  • 灵活:Flask 支持多种数据库和模板引擎。
  • 可扩展:Flask 允许开发者根据自己的需求进行扩展。

1.2 Flask 的安装

pip install Flask 

Flask 基本概念

2.1 路由(Routing)

路由是 Flask 中的核心概念,用于定义 URL 与函数的映射关系。

from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'Hello, World!' 

2.2 视图函数(View Functions)

视图函数是处理用户请求并返回响应的函数。

@app.route('/user/<username>') def user(username): return f'Hello, {username}!' 

2.3 模板(Templates)

模板用于生成 HTML 页面。

<!-- templates/index.html --> <!doctype html> <html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, World!</h1> </body> </html> 

2.4 数据库(Databases)

Flask 支持多种数据库,如 SQLite、MySQL、PostgreSQL 等。

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) 

实战解析

3.1 创建项目

首先,创建一个项目目录,并在其中创建一个名为 app.py 的 Python 文件。

# app.py from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'Hello, World!' 

3.2 运行项目

python app.py 

然后,在浏览器中访问 http://127.0.0.1:5000/,您将看到“Hello, World!”的提示。

3.3 添加路由

@app.route('/user/<username>') def user(username): return f'Hello, {username}!' 

现在,在浏览器中访问 http://127.0.0.1:5000/user/username,您将看到“Hello, username!”的提示。

3.4 使用模板

创建一个名为 templates 的文件夹,并在其中创建一个名为 index.html 的 HTML 文件。

<!-- templates/index.html --> <!doctype html> <html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, World!</h1> </body> </html> 

修改 app.py 文件中的 index 视图函数:

from flask import render_template @app.route('/') def index(): return render_template('index.html') 

现在,在浏览器中访问 http://127.0.0.1:5000/,您将看到一个完整的 HTML 页面。

3.5 使用数据库

创建一个名为 models.py 的 Python 文件,用于定义数据库模型。

# models.py 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) 

app.py 文件中,使用 db.create_all() 创建数据库表。

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

现在,您可以使用 SQLAlchemy 进行数据库操作。

总结

通过本文的实战解析与实例教学,您已经掌握了 Flask 的基本概念和开发流程。接下来,您可以继续深入学习 Flask 的更多高级功能,如蓝图(Blueprints)、中间件(Middleware)、安全性等,以构建更强大的 Web 应用。祝您在 Web 开发领域取得优异成绩!