Python Flask 简明教程(7)--路由使用方法详解

简介: 本文目录1. 概述2. 简单路由3. 处理HTTP方法4. 绑定多个URL5. URL参数6. 动态URL7. 小结

1. 概述

路由其实就是URL和Python函数的映射关系,说的再明白点,就是客户端请求哪个路径交给哪个函数处理的问题。


通过给函数添加装饰器@app.route,即可定义路由,装饰器的参数即为对应的URL。


2. 简单路由

编写route.py,代码如下:


from flask import Flask

app = Flask(__name__)


@app.route('/hello')

def hello():

   return 'hello'


if __name__ == '__main__':

   app.run(debug=True)

1

2

3

4

5

6

7

8

9

启动项目后,访问http://127.0.0.1:5000/hello,由于该访问地址URL匹配'/hello',所以将被hello()函数处理。


所以访问该页面结果如下:



3. 处理HTTP方法

默认情况下,路由只能响应GET方法,可以通过装饰器的methods参数设定路由能响应的方法。


例如我们想同时响应GET/POST方法,则代码如下:


@app.route('/hello', methods=['GET', 'POST'])

def hello():

   return 'hello'

1

2

3

4. 绑定多个URL

一个函数可以绑定多个URL,只需要为该函数添加多个装饰器即可,如下函数可以处理三种URL请求。


@app.route('/')

@app.route('/home')

@app.route('/index')

def home():

  return 'home page'


5. URL参数

有时候,我们希望接受URL上附带的参数,此时可以通过在装饰器上添加<xxx>格式的内容,来对应URL传递的参数。


例如:


@app.route('/user/<name>')

def userInfo(name):

   return 'your name is %s' % name


此时我们通过http://127.0.0.1/user/chen访问,则chen匹配到了<name>,然后会自动传递给函数的参数name,所以网页运行如下:



6. 动态URL

除了直接使用装饰器匹配URL进行路由,还可以通过代码进行动态控制。


通过redirect()函数即可动态控制路由。


如下例子,如果我们访问/dynamic,则会自动跳转到userInfo函数去处理,且携带参数wang。


@app.route('/dynamic')

def dynamic():

   return redirect(url_for('userInfo', name="wang"))

 

@app.route('/user/<name>')

def userInfo(name):

   return 'your name is %s' % name


解释下,首先我们访问/dynamic,然后通过url_for解析出了跳转到userInfo且携带参数wang的地址为/user/wang,然后通过redirect函数自动重定向到/user/wang。


所以效果如下,注意地址栏已经自动重定向到/user/wang



7. 小结

Flask路由的功能还是比较灵活丰富的。

相关文章
|
12天前
|
JSON 数据可视化 API
Python 中调用 DeepSeek-R1 API的方法介绍,图文教程
本教程详细介绍了如何使用 Python 调用 DeepSeek 的 R1 大模型 API,适合编程新手。首先登录 DeepSeek 控制台获取 API Key,安装 Python 和 requests 库后,编写基础调用代码并运行。文末包含常见问题解答和更简单的可视化调用方法,建议收藏备用。 原文链接:[如何使用 Python 调用 DeepSeek-R1 API?](https://apifox.com/apiskills/how-to-call-the-deepseek-r1-api-using-python/)
|
1月前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
23天前
|
IDE 测试技术 项目管理
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
PyCharm是由JetBrains开发的Python集成开发环境(IDE),专为Python开发者设计,支持Web开发、调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试和版本控制等功能。它有专业版、教育版和社区版三个版本,其中社区版免费且适合个人和小型团队使用,包含基本的Python开发功能。安装PyCharm前需先安装Python解释器,并配置环境变量。通过简单的步骤即可在PyCharm中创建并运行Python项目,如输出“Hello World”。
206 13
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
|
2月前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
87 8
|
2月前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
155 7
|
2月前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
58 4
|
2月前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
64 5
|
3月前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
184 3
|
3月前
|
存储 API 数据库
使用Python和Flask构建简单的RESTful API
使用Python和Flask构建简单的RESTful API
|
3月前
|
JSON 关系型数据库 测试技术
使用Python和Flask构建RESTful API服务
使用Python和Flask构建RESTful API服务
151 2

热门文章

最新文章