Commit f8d2e92304cc8dc252a579e509e5faad549a94ad
1 parent
e56c1968
Exists in
master
and in
39 other branches
Resizing badge to 50x50 when saving it
Showing
1 changed file
with
8 additions
and
0 deletions
Show diff stats
src/badger/models.py
| @@ -4,6 +4,7 @@ from django.conf import settings | @@ -4,6 +4,7 @@ from django.conf import settings | ||
| 4 | from django.contrib.auth import get_user_model | 4 | from django.contrib.auth import get_user_model |
| 5 | from django.db import models | 5 | from django.db import models |
| 6 | from django.utils.translation import ugettext as _ | 6 | from django.utils.translation import ugettext as _ |
| 7 | +from PIL import Image | ||
| 7 | 8 | ||
| 8 | 9 | ||
| 9 | class Badge(models.Model): | 10 | class Badge(models.Model): |
| @@ -67,6 +68,13 @@ class Badge(models.Model): | @@ -67,6 +68,13 @@ class Badge(models.Model): | ||
| 67 | def get_badge_url(self): | 68 | def get_badge_url(self): |
| 68 | return u'{}{}'.format(settings.MEDIA_URL, self.image) | 69 | return u'{}{}'.format(settings.MEDIA_URL, self.image) |
| 69 | 70 | ||
| 71 | + def save(self, *args, **kwargs): | ||
| 72 | + img = Image.open(self.image) | ||
| 73 | + (width, height) = img.size | ||
| 74 | + img = img.resize((50, 50), Image.ANTIALIAS) | ||
| 75 | + super(Badge, self).save(*args, **kwargs) | ||
| 76 | + img.save(self.image.path) | ||
| 77 | + | ||
| 70 | def __unicode__(self): | 78 | def __unicode__(self): |
| 71 | return u'{} ({}, {})'.format( | 79 | return u'{} ({}, {})'.format( |
| 72 | self.title, | 80 | self.title, |