10 Flask 路由入门

10 Flask 路由入门

在 Flask 中,路由 是一个重要的概念,它决定了用户如何通过 URL 访问您的应用程序的不同部分。通过定义路由,您可以将 URL 请求映射到具体的处理函数,从而形成一个完整的 Web 应用。

什么是路由?

路由 是将用户请求的 URL 和处理该请求的函数联系起来的机制。在 Flask 中,您可以使用装饰器来定义路由。每当用户访问指定的 URL,Flask 会调用与该 URL 关联的函数。

创建基本路由

下面是一个简单的 Flask 应用程序示例,展示了如何定义基本路由。

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

app = Flask(__name__)

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

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

在上面的代码中,我们定义了一个简单的路由:

  • @app.route('/') 是一个装饰器,它告诉 Flask,当用户访问根 URL / 时,应该调用 home 函数。
  • home 函数返回一个字符串 'Hello, Flask!',这是用户访问页面时看到的内容。

定义多个路由

您可以轻松定义多个路由来响应不同的 URL 请求。例如:

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

@app.route('/contact')
def contact():
return 'This is the Contact page.'

在这个示例中,我们添加了两个新的路由:

  • 访问 /about 将显示 'This is the About page.'
  • 访问 /contact 将显示 'This is the Contact page.'

路由参数

Flask 允许您在路由中使用参数。这使得创建动态 URL 变得简单。以下是一个使用路由参数的示例:

1
2
3
@app.route('/user/<username>')
def show_user_profile(username):
return f'User: {username}'

在这个例子中:

  • '/user/<username>' 这是一个包含路径参数 username 的路由。
  • 当用户访问 /user/john 时,show_user_profile 函数将被调用,返回 User: john

类型转换

您还可以对路由参数进行类型转换。Flask 支持多种转换器,如 intfloatpath。例如:

1
2
3
@app.route('/post/<int:post_id>')
def show_post(post_id):
return f'Post ID: {post_id}'

这个路由要求 post_id 参数是一个整数。如果用户访问 /post/10,将返回 Post ID: 10

处理不同的 HTTP 方法

Flask 还允许您为不同的 HTTP 方法定义路由。例如,您可以处理 GETPOST 请求:

1
2
3
4
5
@app.route('/submit', methods=['GET', 'POST'])
def submit():
if request.method == 'POST':
return 'Form submitted!'
return 'Submit a form!'

在这里,/submit 路由可以处理 GET 请求(显示表单)和 POST 请求(处理表单提交)。

总结

通过使用 Flask 的路由功能,我们可以轻松地为应用创建友好的 URL,处理动态内容,并响应不同的 HTTP 请求。掌握路由的基本用法是构建 Flask 应用的第一步,接下来您可以开始探索更复杂的功能,如模板和数据库。

10 Flask 路由入门

https://zglg.work/flask/10/

作者

AI教程网

发布于

2024-08-08

更新于

2024-08-10

许可协议