我如何实现一个 File_name 字段来排除我的文件路径并且只包含文件名 [Django models]
How can I implement a File_name field that excludes my file path and contains only the file name [Django models]
我正在用 Django 开发一个应用程序。
在我的模板中,我有一个文件表单,允许用户将文件存储在模型中,它们存储在我的 media_root/uploaded_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 我得到的文件名如下:
• 已上传_ files/file_1
• uploaded_ files/file_2
• uploaded_ file /file_3
虽然我想要:
• file_1
• file_2
• file_3
如何实现 File_name 字段排除“uploaded_ files”,只包含文件名?
如here所述,name
属性 returns 文件相对于存储根目录的路径。
如果只想获取文件名,请使用 os.path.basename()
提取文件名。
已解决:
在我的 admin.py:
class my_modelAdmin(admin.ModelAdmin):
def file_name(self):
import os
return os.path.basename(self.file_obj.name)
list_display = [file_name]
我正在用 Django 开发一个应用程序。 在我的模板中,我有一个文件表单,允许用户将文件存储在模型中,它们存储在我的 media_root/uploaded_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 我得到的文件名如下:
• 已上传_ files/file_1
• uploaded_ files/file_2
• uploaded_ file /file_3
虽然我想要:
• file_1
• file_2
• file_3
如何实现 File_name 字段排除“uploaded_ files”,只包含文件名?
如here所述,name
属性 returns 文件相对于存储根目录的路径。
如果只想获取文件名,请使用 os.path.basename()
提取文件名。
已解决:
在我的 admin.py:
class my_modelAdmin(admin.ModelAdmin):
def file_name(self):
import os
return os.path.basename(self.file_obj.name)
list_display = [file_name]