Flask 是一个轻量级的 Python Web 应用框架,它简单而灵活,适用于快速开发 Web 应用程序。Flask 基于 Werkzeug WSGI 工具箱和 Jinja2 模板引擎构建,提供了简单易用的方式来构建 Web 应用程序和 RESTful API。以下为 Flask 框架的基础知识和常用用法。
1、安装 Flask
在开始之前,首先需要安装 Flask。可以使用 pip 工具来安装 Flask:
pip install flask
安装完成后,你就可以开始使用 Flask 来构建 Web 应用程序了。2、编写你的第一个 Flask 应用程序
下面是一个简单的 "Hello, World!" Flask 应用程序示例:
from flask import Flask
# 创建 Flask 应用程序实例
app = Flask(__name__)# 定义路由和视图函数
@app.route('/')
def hello():
return 'Hello, World!'# 启动 Flask 应用程序
if __name__ == '__main__':
app.run(debug=True)
保存上述代码为 app.py 文件,然后在命令行中执行以下命令启动 Flask 应用程序:
python app.py
Flask 将在本地启动一个开发服务器,并监听默认的 http://127.0.0.1:5000 地址。在浏览器中打开该地址,你将看到 "Hello, World!" 的消息。
2、Flask 路由
Flask 使用路由来映射 URL 到视图函数。在上面的示例中,@app.route('/') 装饰器定义了根 URL / 对应的视图函数 hello()。当访问根 URL 时,将调用 hello() 函数并返回 "Hello, World!" 消息。
3、动态路由
除了静态路由外,Flask 还支持动态路由。动态路由允许将 URL 中的一部分作为参数传递给视图函数。例如:
@app.route('/user/<username>')
def show_user_profile(username):
return f'User: {username}'
在上述示例中,/user/<username> 定义了一个动态路由,其中 <username> 部分表示变量。当访问 /user/john 时,show_user_profile() 函数将被调用,并且 username 参数将设置为 'john'。
4、模板渲染
Flask 使用 Jinja2 模板引擎来渲染动态内容。模板可以包含变量、控制结构和过滤器,使得生成动态内容变得简单而灵活。例如:
from flask import render_template
@app.route('/hello/<name>')
def hello_name(name):
return render_template('hello.html', name=name)
在上述示例中,render_template() 函数用来渲染名为 hello.html 的模板,并将 name 参数传递给模板以生成动态内容。
5、静态文件
Flask 允许在应用程序中提供静态文件,如 CSS、JavaScript 和图像。默认情况下,Flask 将从 static 文件夹中提供静态文件。例如,可以将 CSS 文件放置在 static/css 文件夹下,并通过以下方式在模板中引用:
html
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='css/style.css') }}">
以上介绍了 Python Flask 框架的基础知识和常用用法,包括安装 Flask、编写第一个应用程序、定义路由、动态路由、模板渲染和静态文件提供等。Flask 提供了简单而灵活的方式来构建 Web 应用程序,适用于各种规模的项目和需求。后续会通过一个开发实例,来继续加深flask各模块的使用。