我是一名初学程序员,构建了一个Django Web应用程序,该应用程序可以访问互联网上的许多地方并擦除广告。这是我的广告模型的缩短版本:
class Ad(models.Model):
...
pic = models.ImageField(upload_to='photos/', blank=True)
我的芹菜任务会创建这些广告模型并将其保存到数据库中并附带图像。任务(再次缩短)如下:
class DownloadAds(PeriodicTask):
run_every=timedelta(minutes = 5)
def run(self, **kwargs):
logger = self.get_logger(**kwargs)
logger.info("Downloading ads.")
a1 = Ad(...)
a1.save()
name = image_urls[b] # url for image
result = urllib.urlretrieve(name)
a1.pic.save(
os.path.basename(name),
File(open(result[0]))
)
代码目前按预期工作,但它会下载遇到的每个图像,无论它是否已在数据库中存在。为了避免将来的空间问题,我想实现图像散列,但我不确定如何去做。任何建议/方向将不胜感激!谢谢!
答案 0 :(得分:0)
没关系,我只是让每张照片成为一个新模型并检查它是否存在。这绝对是更容易的方法。