当前位置:  开发笔记 > 编程语言 > 正文

NameError:未定义全局名称"send_from_directory"

如何解决《NameError:未定义全局名称"send_from_directory"》经验,为你挑选了1个好方法。

我正在使用Flask并尝试提供文件供用户下载.

我的代码看起来像这样:

@app.route('/downloads/')
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我并没有看到我正在做的事情有多大的不同.所以任何帮助将不胜感激.



1> Raja Simon..:

你必须从烧瓶中进口......它应该......

from flask import send_from_directory

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有