7 Flask 基本概念

7 Flask 基本概念

Flask 是一个用 Python 编写的轻量级 web 应用框架,它采用 Werkzeug 作为底层库,并使用 Jinja2 作为模板引擎。接下来,我们将探讨一些 Flask 的基本概念,并通过实际案例来加深理解。

创建第一个 Flask 应用

Flask 应用的创建非常简单。你只需要安装 Flask 并编写几行代码。

安装 Flask

1
pip install Flask

创建基本应用

首先,创建名为 app.py 的文件,内容如下:

1
2
3
4
5
6
7
8
9
10
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
return 'Hello, Flask!'

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

解释代码

  1. from flask import Flask:导入 Flask 类。
  2. app = Flask(__name__):创建一个 Flask 应用实例,__name__ 用于确定资源的根路径。
  3. @app.route('/'):使用装饰器定义 URL 路径,这里表示根路径 /
  4. def hello()::定义处理该路径请求的函数。
  5. app.run(debug=True):启动 Flask 开发服务器,开启调试模式。

运行应用

在终端中,进入包含 app.py 的目录,然后运行以下命令:

1
python app.py

在浏览器中访问 http://127.0.0.1:5000/,你将看到 Hello, Flask!

路由和视图

Flask 通过路由来将 URL 映射到 Python 函数(视图)。简而言之,路由就是告诉 Flask 如何响应特定的 URL。

定义多个路由

你可以定义多个路由,每个路由对应一个视图函数。例如:

1
2
3
@app.route('/about')
def about():
return 'This is the About page.'

当用户访问 http://127.0.0.1:5000/about 时,将显示 This is the About page.

模板渲染

Flask 使用 Jinja2 模板引擎来渲染HTML页面。这使得在网页中嵌入 Python 代码变得简单而高效。

使用模板

首先,创建一个名为 templates 的文件夹,在其中创建一个 index.html 文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ title }}</title>
</head>
<body>
<h1>{{ heading }}</h1>
<p>{{ message }}</p>
</body>
</html>

接下来,在 app.py 中修改视图函数以渲染模板:

1
2
3
4
5
from flask import render_template

@app.route('/')
def home():
return render_template('index.html', title='Home', heading='Welcome to Flask', message='This is a simple Flask application.')

结果

访问 http://127.0.0.1:5000/,你将看到渲染后的 HTML 页面,其中的内容由视图函数传递进来。

处理表单

Flask 允许轻松处理表单数据。你可以使用 Flask 的请求对象 request 来访问提交的数据。

创建表单

修改 index.html 添加一个表单:

1
2
3
4
<form action="/submit" method="post">
<input type="text" name="username" placeholder="Enter your username">
<input type="submit" value="Submit">
</form>

处理表单提交

app.py 中添加下面的代码来处理表单提交:

1
2
3
4
5
6
from flask import request

@app.route('/submit', methods=['POST'])
def submit():
username = request.form['username']
return f'Hello, {username}!'

结果

当你在表单中输入用户名并提交时,访问 http://127.0.0.1:5000/submit,你将看到 Hello, [username]!

小结

Flask 是一个强大而灵活的框架,可以轻松构建 web 应用。通过掌握基本概念如路由、视图、模板渲染和表单处理,你可以快速入门并构建你自己的 Flask 应用。随着你对 Flask 的深入了解,可以探索更多的高级功能,如数据库集成、会话管理和 RESTful API 构建等。

7 Flask 基本概念

https://zglg.work/flask/7/

作者

AI教程网

发布于

2024-08-08

更新于

2024-08-10

许可协议