2011-07-12 51 views
0

我是一个初学程序员,他构建了一个Django web应用程序,该应用程序会转到互联网上的一堆地方并为广告进行刮擦。这里是我的广告模型的简化版本:Django中的图像哈希

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

没关系,我只是让每张照片都是一个新的模型,并检查它是否存在。这绝对是更简单的方法。