如何在Django中获取上传的zip文件并保存其内容(mp3文件)?

Wit*_*cio 3 django zip mp3 django-models django-forms

我是Django的新手,我正在尝试实现所提到的内容...但是我无法在Django模型中获得一些AudioField或MediaField,或多或少都有ImageField。

更好地解释我想要什么:

我想给用户一个表格,让他可以填写一些信息,并可以上载包含mp3文件的zip文件。然后,在服务器中,我要获取此zip文件,将其解压缩,获取所有mp3的文件,并获取有关这些文件的一些信息(名称,艺术家,时长等),并将其保存在我的模型中(音乐)。

是否有一些教程解释了如何实现该目标,或者有一些链接解释了如何使用zip文件和mp3文件?

sha*_*hin 5

我认为您需要的是以下2个链接:

Python标准库(2.xx和3.xx)均包含用于处理zip文件的模块。https://docs.python.org/3/library/zipfile.html

即:

with ZipFile('music_files.zip') as zip_file:
    # get the list of files
    names = zip_file.namelist()
    # handle your files as you need. You can read the file with:
    with zip_file.open(name) as f:
        music_file = f.read()
        # retrieve music_file metadata here
Run Code Online (Sandbox Code Playgroud)

至于mp3文件元数据的提取,有一个库:http : //eyed3.nicfit.net

希望对您有帮助。