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路由的功能还是比较灵活丰富的。

相关文章
|
1月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
249 1
|
6月前
|
SQL 数据库 开发者
Python中使用Flask-SQLAlchemy对数据库的增删改查简明示例
这样我们就对Flask-SQLAlchemy进行了一次简明扼要的旅程,阐述了如何定义模型,如何创建表,以及如何进行基本的数据库操作。希望你在阅读后能对Flask-SQLAlchemy有更深入的理解,这将为你在Python世界中从事数据库相关工作提供极大的便利。
652 77
|
10月前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
669 86
|
前端开发 API 数据库
介绍一下Flask的使用方法
介绍一下Flask的使用方法
|
存储 API 数据库
使用Python和Flask构建简单的RESTful API
使用Python和Flask构建简单的RESTful API
281 2
|
JSON 关系型数据库 测试技术
使用Python和Flask构建RESTful API服务
使用Python和Flask构建RESTful API服务
531 2
|
JSON API 数据格式
使用Python和Flask构建简单的Web API
使用Python和Flask构建简单的Web API
|
程序员 Python
Flask 路由分发及转换器
Flask 路由分发及转换器
|
Python
小白学Flask第四天| 把路由转换器玩的更牛逼
小白学Flask第四天| 把路由转换器玩的更牛逼
212 0
小白学Flask第四天| 把路由转换器玩的更牛逼

推荐镜像

更多