目录
[Flask 基础概念](#Flask 基础概念)
[安装 Flask](#安装 Flask)
[示例:创建一个 Flask Web 应用](#示例:创建一个 Flask Web 应用)
[运行 Flask 应用](#运行 Flask 应用)
前言
Flask 是一个用 Python 编写的微型 Web 框架,它以简单性和灵活性著称,非常适合快速开发小型到中型的 Web 应用。Flask 不要求特定的项目结构或依赖关系,这使得我们可以根据自己的需求自由选择组件。
Flask 基础概念
- 路由(Routing):定义 URL 路径和视图函数之间的映射。
- 视图函数(View Functions):响应特定 URL 请求的函数。
- 请求对象(Request Objects):包含客户端发送的请求信息。
- 响应对象(Response Objects):用于构建返回给客户端的响应。
- Jinja2 模板引擎:用于生成动态 HTML 页面。
安装 Flask
在你的 Python 环境中安装 Flask:
bash
pip install Flask
示例:创建一个 Flask Web 应用
创建一个名为 app.py
的文件,并输入以下代码:
python
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True)
这里我们定义了一个简单的路由 /
,它关联到 index
函数,该函数返回一个字符串 "Hello, World!"。
运行 Flask 应用
在命令行中,转到包含 app.py
文件的目录,并运行:
bash
python app.py
你将看到类似这样的输出:
bash
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 123-456-789
打开你的浏览器并访问 http://127.0.0.1:5000/
,你应该能看到 "Hello, World!" 的页面。
更复杂的例子
让我们添加一些动态内容和参数处理。修改 app.py
如下:
python
from flask import Flask, request
app = Flask(__name__)
@app.route('/hello/<name>')
def hello_name(name):
return f'Hello, {name}!'
@app.route('/post', methods=['POST'])
def post_data():
data = request.form['data']
return f'Received POST data: {data}'
if __name__ == '__main__':
app.run(debug=True)
现在我们添加了一个带有参数的路由和一个处理 POST 请求的路由。
测试新功能
- 访问
http://127.0.0.1:5000/hello/John
,应显示 "Hello, John!"。 - 使用 Postman 或类似的工具发送一个 POST 请求到
http://127.0.0.1:5000/post
,并在 body 中包含data
字段,应看到数据被正确接收并显示。
Flask 的灵活性和易用性使其成为 Python Web 开发的热门选择。通过结合 Jinja2 模板、数据库库(如 SQLAlchemy)和其他扩展,你可以构建出功能丰富且可维护的 Web 应用。