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

相关文章
|
8天前
|
开发框架 前端开发 JavaScript
利用Python和Flask构建轻量级Web应用的实战指南
利用Python和Flask构建轻量级Web应用的实战指南
25 2
|
17天前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
25 2
|
19天前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
构建RESTful APIs:使用Python和Flask
26 1
|
30天前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
【10月更文挑战第12天】本文介绍了如何使用Python和Flask构建一个简单的RESTful API。首先概述了API的重要性及RESTful API的基本概念,接着详细讲解了Flask框架的特性和安装方法。通过创建一个基本的Flask应用,定义了处理“图书”资源的GET、POST、PUT和DELETE方法的路由,展示了如何处理请求和响应,以及如何进行错误处理。最后,提供了运行和测试API的方法,总结了Flask在构建RESTful API方面的优势。
32 1
|
1月前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
【10月更文挑战第10天】本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web应用框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了代码示例。通过这些步骤,读者可以快速掌握使用Flask构建RESTful API的方法。
51 1
|
1月前
|
数据库 开发者 Python
使用Python和Flask构建Web应用
【10月更文挑战第2天】使用Python和Flask构建Web应用
26 2
|
1月前
|
API 数据库 开发者
Flask:Python的轻量级Web框架
Flask:Python的轻量级Web框架
33 2
|
2月前
|
数据采集 NoSQL 调度
flask celery python 每月定时任务
flask celery python 每月定时任务
|
1月前
|
自然语言处理 Python
六、Flask模板使用方法
六、Flask模板使用方法
12 0
|
1月前
|
缓存 JSON 关系型数据库
四、Flask 视图使用方法详细概述
四、Flask 视图使用方法详细概述
16 0