python - Django models.FileField - 仅存储文件名而不存储任何路径或文件夹引用

标签 python django filefield

我正在使用 Django 的管理站点来管理一些数据 - 但不是构建网络应用程序。我需要文件上传字段在数据库中仅存储文件名。

现在我可以获得绝对路径,例如: /Users/me/uploads/file.png

或者使用 upload_to 参数在数据库中得到这样的东西: 上传/file.png

我怎样才能让它变成这样: 文件.png

编辑:

我正在获取 sqlite 数据库并在另一个客户端中使用 - 所以在数据库条目中有任何路径对我来说都没有意义。

谢谢!

最佳答案

我会保留 FileField 并使用 python os.path.basename提取文件名。

这可以用属性封装

class MyModel(models.Model):
   file = models.FileField(...)

   @property
   def filename(self):
       return os.path.basename(self.file.name)

关于python - Django models.FileField - 仅存储文件名而不存储任何路径或文件夹引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15819402/

相关文章:

python - 我的 modelformset_factory 没有保存图像(我使用了基于类的 View ),而是在使用管理端时保存它

python 请求返回类似文件的对象以进行流式传输

django admin 上传文件处理

python - 如何为 FileField Django 查找图像的高度和宽度

python - Python中的字母范围

python - 你能 "restart"Python 循环的当前迭代吗?

python - 使用 Python 填写 Web 表单

python - Django HTTPS 设置 : Why does setting both SESSION_SAVE_EVERY_REQUEST and SESSION_COOKIE_SECURE break sessions?

Django:将上传的文件保存到 FileField

python - fmin 具有多个参数的 python 函数