0
我有一個包含一些資源(數據文件)的靜態目錄,我可以直接訪問這些文件:即http://hello.com/static/dir/abc.pdf
。但是,我把目錄作爲地址出錯了:即http://hello.com/static/dir
。使用Flask重定向到靜態目錄中的資源文件
使用燒瓶,我可以通過顯示目錄的內容來解決這個問題。
@app.route('/static/<path:url>') @protect
def show(url):
content_dir = app.config['CONTENT_DIR']
directory = "%s/%s/box/%s" % (content_dir, url, url2)
result = []
if os.path.isdir(directory):
for file in os.listdir(directory):
content['url'] = '/static/...
result.append(content)
return render_template("box.html",...)
的問題是,這種路由處理,直接訪問文件不能正常工作更多的是http://hello.com/static/dir/abc.pdf
始終觸發show()
方法。
如何重定向到資源文件(示例中爲abc.pdf),而不被重定向到show()
方法?
你可以檢查'url'是否以文件擴展名結尾。 – Celeo 2014-12-03 22:57:01
理想情況下,您不會在生產中使用開發服務器。你應該讓你的http服務器擔心這一點。 – dirn 2014-12-03 23:05:51