Flask中的路由总结

路由的基本定义

​ 客户端(如Web浏览器)把请求发送给Web服务器,Web服务器再把请求发送给Flask程序实例。程序实例需要知道每个URL请求运行哪些代码,所以保存了一个URL到Python函数的映射关系。处理URL和函数之间关系的程序称为路由。在Flask中定义路由最简单的方式,是使用程序实例提供的app.route修饰器,把修饰的函数注册为路由。这个函数也称为视图函数(view function)。视图函数是用来处理服务端路由请求的程序,其返回的值称为响应,是客户端接收到的内容。

指定路由地址
# 指定访问路径为`/demo1`
@app.route('/demo1')
def demo1():
    return 'demo1'
给路由传数

​ 有时我们需要将同一类 URL 映射到同一个视图函数处理,比如:使用同一个视图函数来显示不同用户的个人信息。

# 路由传递参数
@app.route('/user/<user_id>')
def user_info(user_id):
    return 'hello %s' % user_id
  • 路由传递的参数默认当做 string 处理,也可以(通过路由转换器)指定参数满足的类型
# 路由传递参数
@app.route('/user/<int:user_id>')
def user_info(user_id):
    return 'hello %d' % user_id

说明:

  • 这里指定int,尖括号中的内容是动态的,在此暂时可以理解为接受 int 类型的值,实际上 int 代表使用 IntegerConverter转换器 去处理 url 传入的参数.关于路由转换器点击这里去了解
指定请求的方式

在 Flask 中,定义一个路由,默认的请求方式为:

  • GET
  • OPTIONS(自带)
  • HEAD(自带)

其中的HEAD和OPTIONS方法由Flask自动处理。

如果想添加请求方试,那么可以如下指定:

@app.route('/demo2', methods=['GET', 'POST'])
def demo2():
    # 直接从请求中取到请求方式并返回
    return request.method

说明:

  • 通过指定参数methods的值可以指定请求的方式,上面的既可以支持GET请求也支持POST请求;
  • 通过app.url_map可以查看视图函数可以支持的几种请求方式及路由的映射关系

猜你喜欢

转载自blog.csdn.net/u010268820/article/details/85804669