相关疑难解决方法(0)

Django删除未使用的媒体文件

我有一个django项目,管理员可以在其中上传媒体.当项目出售时,它们将从站点中删除,从而删除它们在MySQL数据库中的条目.但是,与项目关联的图像仍保留在文件系统上.这不是必然的坏行为 - 我不介意保留文件,以防删除是一个意外.我想到的问题是两年后,由于媒体文件夹因旧产品图像而膨胀,存储空间有限.

有没有人知道一种系统/程序化的方法来对所有图像进行排序并将它们与相关的MySQL字段进行比较,删除任何与文件系统不匹配的图像?在完美的世界中,我想象一下django-admin中的一个按钮,如"清理未使用的媒体",它执行一个能够执行此行为的python脚本.我会在这里分享我最终的解决方案,但我现在正在寻找的是那些有想法,知道资源或者自己在某些方面做过这件事的人.

python django django-admin

19
推荐指数
2
解决办法
9406
查看次数

Django:如何替换/覆盖/更新/更改FileField的文件?

在Django中,我有以下模型:

from django.db import models
from django.core.files.base import File
import os, os.path

class Project(models.Model):
    video = models.FileField(upload_to="media")

    def replace_video(self):
        """Convert video to WebM format."""
        # This is where the conversion takes place,
        # returning a path to the new converted video
        # that I wish to override the old one.
        video_path = convert_video()

        # Replace old video with new one,
        # and remove original unconverted video and original copy of new video.
        self.video.delete(save=True)
        self.video.save(os.path.basename(video_path), File(open(video_path ,"wb")), save=True)
        os.remove(video_path)
Run Code Online (Sandbox Code Playgroud)

我希望能够在模型对象/实例上替换 …

python django django-models

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

django ×2

python ×2

django-admin ×1

django-models ×1