【Flask】路由系统

博客介绍了Flask路由系统相关内容。包括反向生成URL,endpoint参数默认是函数名,可修改;methods参数不定义时默认响应特定请求。还提及动态路由,浏览器输入特定网址可访问,反向生成URL加参数时,路由与参数名需一致,同时列举了常用的五种路由系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 反向生成URL
@app.route('/index',methods=["GET","POST"],endpoint="n1")
def index():
    print('index')
    print(url_for('n1'))
    return "index"
  • endpoint参数默认为flask路由装饰器下面定义的函数名index,而上述代码将endpoint修改为n1因此使用url_for('n1')就可以反向生成url,打印生成结果为/index
  • methods参数若不定义,默认只能响应GET请求
  1. 动态路由
@app.route('/index/<int:nid>',methods=['GET','POST'])
def index(nid):
    print(url_for("index",nid=777))
    print(url_for("index",nid=nid))    #根据输入的nid,反向生成url
    return "Index"

浏览器输入网址,如127.0.0.1:5000/index/5即可访问该路由,同时需要注意反向生成url加参数的情况,路由中定义的nid与url_for第2个参数nid名字必须一致,若第2个参数定义为id=777,会报错

  • @app.route(’/user/’)
  • @app.route(’/post/int:post_id’)
  • @app.route(’/post/float:post_id’)
  • @app.route(’/post/path:path’)
  • @app.route(’/login’, methods=[‘GET’, ‘POST’])

常用路由系统有以上五种,所有的路由系统都是基于以下对应关系来处理:

DEFAULT_CONVERTERS = {    
'default':          UnicodeConverter,       #字符串
'string':           UnicodeConverter,       #字符串
'any':              AnyConverter,      
'path':             PathConverter,     
'int':              IntegerConverter,   
'float':            FloatConverter,   
'uuid':             UUIDConverter,
   }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bug 挖掘机

支持洋子

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值