【问题标题】:Getting actual name of file after upload Django上传Django后获取文件的实际名称
【发布时间】:2020-03-09 01:45:15
【问题描述】:

我在检索文件的当前名称时遇到问题。在我将文件上传到带有后缀的模型的那一刻。

    class DataUpload(models.Model):
        file_uploaded_path = models.FileField(upload_to="csv/%Y/%m/%d/")

问题是我无法检索带后缀的文件名。 当我使用

>> DataUpload.file_uploaded_path.path

我只得到媒体根文件夹的路径

项目/媒体/文件.txt

我也尝试过 .name 或 .url,但还是不行。 我想我到处检查过,但我真的没有想法。

【问题讨论】:

  • 你在setting.py中设置媒体文件路径了吗?
  • 这些是我的设置: STATIC_URL = FORCE_SCRIPT_NAME + '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') MEDIA_URL = FORCE_SCRIPT_NAME + '/media/' MEDIA_ROOT = os.path .join(BASE_DIR, '媒体')

标签: python django file django-models path


【解决方案1】:

好吧,我终于做到了。我在 FileFiled 文档中找到了一条注释。 https://docs.djangoproject.com/en/3.0/ref/models/fields/#django.db.models.FileField.upload_to

注意

文件作为模型保存在数据库中的一部分被保存,因此在保存模型之前不能依赖磁盘上使用的实际文件名。

所以是的,几个小时以来,我一直试图在保存模型之前获得名称,这就是为什么我无法获得真正的路径。阅读文档!

【讨论】:

    猜你喜欢
    • 2021-11-04
    • 2019-05-30
    • 2015-01-28
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多