Flask - 路由
Posted hl001
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask - 路由相关的知识,希望对你有一定的参考价值。
什么是路由
处理url和函数之间的关系的程序就是"路由"
在Flask中,路由是通过@app.route装饰器来表示的
@app.route('/login')
def login():
pass
不带参数的路由
http://localhost:5000/admin/login
@app.route('/admin/login')
def admin_login():
return "xxx"
带参数的路由
基本带参路由
参数用<>来表示
@app.route('/show/<name>') def show(name): # name 参数表示的就是由地址栏上传递进来的数据 pass
带多个参数的路由
多个参数使用/隔开,并继续使用<>来表示
@app.route('/show/<name>/<age>') def show(name,age): pass
指定参数类型的路由
使用类型转换器 解决参数类型的问题
@app.route('/show/<name>/<int:age>') def show(name,age): print('name:字符串类型的数据') print('age:整数类型的数据') print('int:类型转换器') pass
类型转化器 作用 缺省 字符串,不能有斜杠(‘/‘) int: 整数 float: 浮点型 path: 字符串,允许有斜杠(‘/‘)
多 URL 的路由匹配
@app.route('/地址1')
@app.route('/地址2')
... ...
def index():
return 'xxx'
路由中设置允许接收的HTTP请求方法
所有的路由默认只接受get请求,不接受post请求
@app.route('/xxx',methods=['POST','GET'])
@app.route('/xxx',methods=['POST'])
URL的反向解析
正向解析:程序自动解析,会根据访问路径(@app.route(‘xxx‘)),自动来匹配处理函数
反向解析:通过视图处理函数的名称自动生成对应的访问路径
在Flask中要实现反向解析的话,需要导入url_for
from flask import url_for
url_for(funName,args)
funName:要生成地址所对应的函数名
args:该地址中要用到的参数
以上是关于Flask - 路由的主要内容,如果未能解决你的问题,请参考以下文章