Flask应用中的自定义路由

Flask应用中的自定义路由,第1张

Flask应用中的自定义路由

您已经拥有了很多东西。您需要做的就是使用

/<var>
语法(或
/<converter:var>
适当的语法)装饰视图函数。

from flask import Flask, render_templateapp = Flask(__name__)@app.route('/')def index():    return render_template('index.html')@app.route('/<word>', defaults={'word': 'bird'})def word_up(word):    return render_template('whatstheword.html', word=word)@app.route('/files/<path:path>')def serve_file(path):    return send_from_directory(app.config['UPLOAD_DIR'], path, as_attachment=True)if __name__ == '__main__':    app.debug = True    app.run(port=9017)

当Flask像您尝试使用的那样从动态路由的URL中提取变量时,默认情况下它将是Python中的unipre字符串。如果您使用

<int:var>
<float:var>
转换器创建变量,它将在您的应用空间中转换为适当的类型。

<path:blah>
转换器将包含斜杠(字符串匹配
/
),那么你可以通过
/blah/dee/blah
在你的浏览功能路径变量将包含字符串。在不使用
path
转换器的情况下,flask会尝试将您的请求发送到在路线上注册的视图函数
/blah/dee/blah
,因为平原
<var>
/
uri中的下一个划定。

因此,查看我的小应用程序,该

/files/<path:path>
路由将提供与用户在请求中发送的路径相匹配的任何文件。我从这里的文档中提取了这个示例。

另外,请挖掘您可以通过装饰器的关键字

arg
为变量URL指定默认值
route()

如果需要,您甚至可以

url_map
根据在应用程序空间中指定视图函数和路线的方式访问Werkzeug构建的基础。有关更多内容,请查看有关URL注册的api文档。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5617717.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存