我知道这个问题已经被问过很多次了,但我找不到一个很好的解决方案。这是我的模型:
class Song(models.Model):
song_title = models.CharField(max_length=200, null=False, blank=False)
audio_file = models.FileField(default='', null=True,blank=True)
@property
def filename(self):
return os.path.basename(self.audio_file.name)
def __str__(self):
return self.song_title
我已经完成了所有这些,但我仍然无法获取文件名。所以在管理页面中,我上传了一首名为:song.mp3的新歌。在管理面板中,它显示如下:
Currently: ./song.mp3
我需要获取名称 song.mp3 ,我该怎么做?我尝试在 python shell 中执行此操作:
d = Song.object.get(pk=1)
d.audio_file.name
但它只显示这一点:''
我认为您应该使用以下内容:
@property
def filename(self):
return self.audio_file.path # os.path.basename(self.audio_file.path)
self.audio_file.path
代替 self.audio_file.name
并阅读有关管理文件的更多信息Django 管理文件,它将在未来为您提供帮助;)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句