python - 在 Django 中,动态路径更改时如何移动图像?

标签 python django django-models

我有一个带有图像字段(自定义 ThumbnailImageField 类型)的 Django 应用程序,该应用程序根据图像附加到的项目的标题、类型和国家/地区自动生成图像的文件路径(upload_ to = get_图像路径)。方法如下:

def get_image_path(instance, filename):
    dir = 'images'
    subdir = instance.get_type_display()
    sub_subdir = 'other'
    if instance.country:
        sub_subdir = instance.country.name
    name = instance.name
    extension = filename.split('.')[-1]

    return "%s/%s/%s/%s.%s" % (dir, subdir, sub_subdir, name, extension)

它工作得很好,但在一种情况下除外:当我重命名一个项目、更改它来自的国家或更改它所属的类别时,图像会变成死链接,因为它会生成一个新的图像路径而不移动原始文件。

那么,神奇的问题:

Django 中是否有一些保存功能,我可以连接并覆盖它,让我拥有原始对象和建议值并比较它们,以便我知道图像路径在哪里以及它需要去哪里(然后使用此信息在代码中移动/重命名)?

最佳答案

关于python - 在 Django 中,动态路径更改时如何移动图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1556040/

相关文章:

python - 如何在 python ubuntu 中检查其他程序是否正在使用相机/麦克风

微分方程的 Python 解析器 : syntax errors with ast and sympify

python - 在 Django 中使用 prefetch_related 连接 ManyToMany 字段

python - 如何将嵌套类别添加到 Django 模型?

python - 如何用Python中的其他值替换文件中的值

python - Pandas.DataFrame - 查找可用值的最早日期

django - 在 {{ verbatim }} 和 {{endverbatim}} 内使用 django 模板标签

python - 当已经托管 rstudio 和 rapache 时,将 django 站点添加到 ubuntu 上的 apache2

python - Django Python 如何比较加密用户的密码

mysql - Django startswith vs endswith 在 MySQL 上的性能