如何从文件字段中获取文件名?
How to get the name of the file from the filefield?
我知道这个问题已被问过很多次,但我找不到很好的解决方案。这是我的模型:
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
我已经完成了所有这些,但我仍然无法在管理页面中获取文件 name.So,我上传了一首名为 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 managing files这将在未来对您有所帮助;)
我知道这个问题已被问过很多次,但我找不到很好的解决方案。这是我的模型:
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
我已经完成了所有这些,但我仍然无法在管理页面中获取文件 name.So,我上传了一首名为 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 managing files这将在未来对您有所帮助;)