小编Abd*_*auf的帖子

AttributeError: 'file' 对象没有属性 '_committed'

我的模型中有一个 DjangoFileField。我正在尝试将该 FielField 中的音频类型转换为 mp3,然后再次尝试保存它。但是在转换类型并使用pydub导出后,它返回以下错误

AttributeError: 'file' object has no attribute '_committed'
Run Code Online (Sandbox Code Playgroud)

我的代码是这样的

def get_from_function(AudioSegment, format):

    form = "from_{0}".format(format)
    print form
    if hasattr(AudioSegment, form):
        return getattr(AudioSegment, form)
    return None


    audio = request.FILES.get('audio', None)
    if audio:
        name_list = audio.name.rsplit(".")
        voice_format =name_list[1]
        from_format = get_from_function(AudioSegment, voice_format)
        if from_format and callable(from_format):
            sound = from_format(audio)
            audio = sound.export("media/{0}".format(name_list[0]), mp3")
Run Code Online (Sandbox Code Playgroud)

当我打印audio它打印

<open file 'media/barsandtone', mode 'wb+' at 0x7f771e5e2f60>
Run Code Online (Sandbox Code Playgroud)

当我打印它打印的文件类型时

<type 'file'>
Run Code Online (Sandbox Code Playgroud)

但是当我将音频字段分配给 django 模型时

Mymodel.objects.create(audio=audio)
Run Code Online (Sandbox Code Playgroud)

它给出了错误

AttributeError at /create/
'file' object has no …
Run Code Online (Sandbox Code Playgroud)

python django filefield django-file-upload

5
推荐指数
2
解决办法
7907
查看次数

使用python将任何音频转换为mp3格式

我正在一个 python django 项目中工作,我正在使用 twillio 向用户发送语音消息。我允许用户上传 mp3 格式的文件以将其发送给其他用户。但是现在我想允许用户上传任何音频格式的文件来发送给其他人,但我的问题是 twillio 只允许语音的 mp3 格式。所以我正在寻找任何可以在 django 后端将上传的文件转换为音频文件的包。请给我建议一些包或某种方法来实现这一点。我在互联网上搜索了包裹或提示,但一无所获。为我提供一些软件包链接或任何文档来完成它。

将获得帮助

javascript python django audio mp3

-2
推荐指数
1
解决办法
4066
查看次数

标签 统计

django ×2

python ×2

audio ×1

django-file-upload ×1

filefield ×1

javascript ×1

mp3 ×1