2016-01-07 177 views
0

我正在使用Flask並嘗試提供用戶下載的文件。NameError:未定義全局名稱'send_from_directory'

我的代碼看起來是這樣的:

@app.route('/downloads/<string:yt_id>') 
def download_file(yt_id): 

    def hooks(data): 
     if data['status'] == 'finished': 
      filename = data['filename'] 

    ydl_opts = { 
     'format': 'bestaudio/best', 
     'postprocessors': [{ 
      'key': 'FFmpegExtractAudio', 
      'preferredcodec': 'mp3', 
      'preferredquality': '192', 
     }], 
     'progress_hooks': [hooks], 
    } 
    with youtube_dl.YoutubeDL(ydl_opts) as ydl: 
     ydl.download(['http://www.youtube.com/watch?v='+yt_id]) 


    return send_from_directory(".", 
           filename, 
           as_attachment=True) 

我想上面的代碼的唯一相關的部分是這樣的:

return send_from_directory(".", 
           filename, 
           as_attachment=True) 

這是我得到的錯誤信息:

NameError: global name 'send_from_directory' is not defined 

我看了幾個人如何使用的例子send_from_directory a nd我沒有看到與我正在做的事情有很大的區別。所以任何幫助將不勝感激。

+3

嗯...有你'導入send_from_directory'? –

回答

6

你必須從瓶中導入它...它應該是...

from flask import send_from_directory 
+0

我多傻。當然。謝謝拉惹。我會在9分鐘內接受你的回答。 – Xar

相關問題