P3t*_*rus 2 python routing flask
如何捕获所有路径,只处理目录和处理文件的路径?
下面是一个简单的例子
from flask import Flask
app = Flask(__name__)
@app.route('/foo')
def foo_file():
return 'Queried: foo file'
@app.route('/foo/')
def foo_dir():
return 'Queried: foo dir'
@app.route('/<path:path>')
def file(path):
return 'Queried file: {0}'.format(path)
@app.route('/')
@app.route('/<path:path>/')
def folder(path):
return 'Queried folder: {0}'.format(path)
if __name__ == '__main__':
app.run()
Run Code Online (Sandbox Code Playgroud)
当我访问http:\\127.0.0.1:5000\foo它的电话foo_file()和http:\\127.0.0.1:5000\foo\它的电话foo_dir().但查询http:\\127.0.0.1:5000\bar和http:\\127.0.0.1:5000\bar\两个电话
file().我怎么能改变呢?
我知道我可以检查尾随斜线并手动重新路由,我只是想知道是否还有另一种方法.
你可以这样做......
@app.route('/<path:path>')
def catch_all(path):
if path.endswith('/'):
return handle_folder(path)
else:
return handle_file(path)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2236 次 |
| 最近记录: |