Каждый раз, когда мой пользователь входит в систему, мы извлекаем его фотографию из Facebook.Это означает, что когда он входит в систему, мне нужно проверить, совпадает ли существующее изображение с новым.Затем, если это не так, мне нужно перезаписать существующее изображение.Я, наверное, могу взломать это вместе, но какой оптимальный способ сделать это?
Вот моя модель:
class UserProfile(models.Model):
avatar = models.ImageField(upload_to='img/users')
@receiver(pre_update, sender=FacebookBackend)
def update_user_profile(sender, user, response, details, **kwargs):
profile, created = UserProfile.objects.get_or_create(user=user)
if "id" in response:
from urllib2 import urlopen, HTTPError
from django.template.defaultfilters import slugify
from django.core.files.base import ContentFile
try:
url = "http://graph.facebook.com/%s/picture" \
% response["id"]
avatar = urlopen(url+'?type=large', timeout=15)
profile.avatar.save(slugify(user.id + 'a') + u'.jpg',
ContentFile(avatar.read()))