您已经拥有了很多东西。您需要做的就是使用
/<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文档。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)