Added GRAVITAR_FORCEDEFAULT setting

This commit is contained in:
Orion Buske 2016-02-11 12:51:59 -05:00
parent c6e7cbf4a8
commit d974f45cab
3 changed files with 8 additions and 0 deletions

View file

@ -13,6 +13,7 @@ class AvatarConf(AppConf):
GRAVATAR_FIELD = 'email'
GRAVATAR_BACKUP = True
GRAVATAR_DEFAULT = None
AVATAR_GRAVATAR_FORCEDEFAULT = False
DEFAULT_URL = 'avatar/img/default.jpg'
MAX_AVATARS_PER_USER = 42
MAX_SIZE = 1024 * 1024

View file

@ -40,6 +40,8 @@ def avatar_url(user, size=settings.AVATAR_DEFAULT_SIZE):
params = {'s': str(size)}
if settings.AVATAR_GRAVATAR_DEFAULT:
params['d'] = settings.AVATAR_GRAVATAR_DEFAULT
if settings.AVATAR_GRAVATAR_FORCEDEFAULT:
params['f'] = 'y'
path = "%s/?%s" % (hashlib.md5(force_bytes(getattr(user,
settings.AVATAR_GRAVATAR_FIELD))).hexdigest(), urlencode(params))
return urljoin(settings.AVATAR_GRAVATAR_BASE_URL, path)

View file

@ -139,6 +139,11 @@ AVATAR_GRAVATAR_DEFAULT
`Gravatar documentation <https://en.gravatar.com/site/implement/images/#default-image>`_.
Defaults to ``None``.
AVATAR_GRAVATAR_FORCEDEFAULT
A bool indicating whether or not to always use the default Gravitar. More details can be found
in the `Gravatar documentation <https://en.gravatar.com/site/implement/images/#force-default>`_.
Defaults to ``False``.
AVATAR_GRAVATAR_FIELD
The name of the user's field containing the gravatar email. For example, if you set
this to ``gravatar`` then django-avatar will get the user's gravatar in ``user.gravatar``.