Simply returns a created gravatar url based on input. Creates the url utilizing the full gravatar url inputs as defined at http://en.gravatar.com/site/implement/url.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | from hashlib import md5
from django import template
# We call it avatar_url instead of gravatar_url so if we change services in the
# future it's just a change of the tag.
@register.simple_tag
def avatar_url(email, size=50, rating='g', default=None):
"""
Returns a gravatar url.
Example tag usage: {% avatar user.email 80 "g" %}
:Parameters:
- `email`: the email to send to gravatar.
- `size`: optional YxY size for the image.
- `rating`: optional rating (g, pg, r, or x) of the image.
- `default`: optional default image url or hosted image like wavatar.
"""
# Verify the rating actually is a rating accepted by gravatar
rating = rating.lower()
ratings = ['g', 'pg', 'r', 'x']
if rating not in ratings:
raise template.TemplateSyntaxError('rating must be %s' % (
", ".join(ratings)))
# Create and return the url
hash = md5(email).hexdigest()
url = 'http://www.gravatar.com/avatar/%s?s=%s&r=%s' % (
hash, size, rating)
if default:
url = "%s&d=%s" % (url, default)
return url
|
More like this
- Template tag - list punctuation for a list of items by shapiromatron 10 months, 2 weeks ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 10 months, 3 weeks ago
- Serializer factory with Django Rest Framework by julio 1 year, 5 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 6 months ago
- Help text hyperlinks by sa2812 1 year, 6 months ago
Comments
Please login first before commenting.