From 0a2ad28b7cf5b4716b5becb576a7f9f9b5896462 Mon Sep 17 00:00:00 2001 From: Oliver Marks Date: Sat, 7 Jan 2017 21:52:03 +0000 Subject: [PATCH] add in stdimage to scale the images --- config/settings/common.py | 1 + config/settings/local.py | 18 ++++++++++++++++-- dev.yml | 4 +++- mhackspace/templates/users/user_detail.html | 2 +- mhackspace/users/models.py | 12 ++++++++++-- requirements/base.txt | 1 + 6 files changed, 32 insertions(+), 6 deletions(-) diff --git a/config/settings/common.py b/config/settings/common.py index 32e476e..521fa9f 100644 --- a/config/settings/common.py +++ b/config/settings/common.py @@ -28,6 +28,7 @@ DJANGO_APPS = ( 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', + 'stdimage', # Useful template tags: # 'django.contrib.humanize', diff --git a/config/settings/local.py b/config/settings/local.py index a67ba42..f70d9c7 100644 --- a/config/settings/local.py +++ b/config/settings/local.py @@ -35,12 +35,26 @@ EMAIL_HOST = env("EMAIL_HOST", default='mailhog') # CACHING # ------------------------------------------------------------------------------ + +REDIS_LOCATION = '{0}/{1}'.format(env('REDIS_URL', default='redis://redis:6379'), 0) +# Heroku URL does not pass the DB number, so we parse it in CACHES = { 'default': { - 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', - 'LOCATION': '' + 'BACKEND': 'django_redis.cache.RedisCache', + 'LOCATION': REDIS_LOCATION, + 'OPTIONS': { + 'CLIENT_CLASS': 'django_redis.client.DefaultClient', + 'IGNORE_EXCEPTIONS': True, # mimics memcache behavior. + # http://niwinz.github.io/django-redis/latest/#_memcached_exceptions_behavior + } } } +# CACHES = { +# 'default': { +# 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', +# 'LOCATION': '' +# } +# } # django-debug-toolbar # ------------------------------------------------------------------------------ diff --git a/dev.yml b/dev.yml index 1d4c6e3..c872ea5 100644 --- a/dev.yml +++ b/dev.yml @@ -26,7 +26,7 @@ services: volumes: - .:/app ports: - - "8000:8000" + - "8180:8000" links: - postgres - mailhog @@ -36,3 +36,5 @@ services: ports: - "8125:8025" + redis: + image: redis:latest diff --git a/mhackspace/templates/users/user_detail.html b/mhackspace/templates/users/user_detail.html index 698c590..13f5a1b 100644 --- a/mhackspace/templates/users/user_detail.html +++ b/mhackspace/templates/users/user_detail.html @@ -9,7 +9,7 @@

Profile

- Profile image + Profile image

{{ user.username }}

{{ user.name }}

diff --git a/mhackspace/users/models.py b/mhackspace/users/models.py index 8e61203..9c2b3e8 100644 --- a/mhackspace/users/models.py +++ b/mhackspace/users/models.py @@ -7,12 +7,20 @@ from django.core.urlresolvers import reverse from django.db import models from django.utils.encoding import python_2_unicode_compatible from django.utils.translation import ugettext_lazy as _ - +from stdimage.models import StdImageField @python_2_unicode_compatible class User(AbstractUser): name = models.CharField(_('Name of User'), blank=True, max_length=255) - image = models.ImageField(upload_to='avatars/', blank=True, null=True) + image = StdImageField( + upload_to='avatars/', + blank=True, + null=True, + variations={ + 'profile': { + "width": 256, + "height": 256, + "crop": True}}) def __str__(self): return self.username diff --git a/requirements/base.txt b/requirements/base.txt index 4e3745d..559a240 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -17,6 +17,7 @@ django-braces==1.10.0 django-crispy-forms==1.6.1 # Models +django-stdimage django-model-utils==2.6 # Images