重定向时屏蔽文件名

时间:2014-03-02 11:27:51

标签: python redirect flask

我的应用程序中存在一个静态html页面,存储在static/foo/bar/index.html。我想将此页面提供给/my-url/。在Flask中,我的路由如下所示:

@app.route('/my-url/')
def myurl():
  return redirect(url_for('static', filename='foo/bar/index.html'))

使用此路由,我的静态html文件显示在:

localhost:8000/my-url/index.html

我希望最终的网址是:

localhost:8000/my-url/

如何让Flask屏蔽最终网址中的index.html文件名?

1 个答案:

答案 0 :(得分:3)

使用flask.send_from_directory() function

,而不是重定向,直接自己提供文件
from flask import send_from_directory

@app.route('/my-url/')
def myurl():
    return send_from_directory(app.static_folder, 'foo/bar/index.html')