Хеширование изображений в Django - PullRequest
0 голосов
/ 12 июля 2011

Я начинающий программист, создающий веб-приложение 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]))
                    )

Код в настоящее время работает так, как задумано, но он загружает каждое изображение, которое встречает, независимо от того, имеется ли оно в базе данных или нет.Чтобы избежать будущих проблем с пространством, я хочу реализовать хеширование изображений, но я не совсем уверен, как это сделать.Любой совет / направление будет высоко ценится!Спасибо!

1 Ответ

0 голосов
/ 09 августа 2011

Неважно, я просто сделал каждую фотографию новой моделью и проверил, существует ли она. Это был определенно более легкий подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...