我正在Django中开发一个应用程序。在我的模板中,我有一个文件表单,允许用户将文件存储在模型中,它们存储在我的media_root/upload_files/目录中:
class my_model (models.Model):
file_obj = models.FileField(upload_to='uploaded_files/', blank=False, null=False)
def __str__(self):
return "%s" % (self.file_obj)
但在我的管理部分,访问模型my_model时,我得到的文件名如下:
•上传文件/file_1
•上传文件/file_2
·上传文件/file _3
当我想要:
•file_1
•file_2
?file_3
如何实现不包含"uploaded_files"且仅包含文件名的File_name字段?
如上所述,name
属性返回文件相对于存储根的路径。
如果只想获得文件的名称,请使用os.path.basename()
提取名称。
已解决:
在我的管理员.py:
class my_modelAdmin(admin.ModelAdmin):
def file_name(self):
import os
return os.path.basename(self.file_obj.name)
list_display = [file_name]