Usage
Suppose the directory structure of your project is like this.
Django_Project
│ db.sqlite3
│ manage.py
│
├───pages
│ │ admin.py
│ │ apps.py
│ │ models.py
│ │ tests.py
│ │ urls.py
│ │ views.py
│ │ __init__.py
│ └───templates
│ │ base.html
│ │
│ └───pages
│ about.html
│ index.html
│
└───Django_Project
asgi.py
settings.py
urls.py
wsgi.py
__init__.py
In Django_Project/settings.py
,
...
INSTALLED_APPS = [
...
'dj_gravatar' # NOTE: underscore(_) is used instead of hyphen(-)
...
]
...
In the Django Template (.html
file) where you want to show the gravatar,
{% load gravatar %}
...
<img src="{% gravatar_url 'email@mail.com' 200 %}" alt="profile-pic">
...
The above code outputs like this:
<img src="http://www.gravatar.com/avatar/267f3587edc9b64d8e80ee7eca8abbcb?s=200&d=" alt="profile-pic">
<!-- OR -->
<img src="http://www.gravatar.com/avatar/[hash]?s=200&d=" alt="profile-pic">
The argument s=200
represents the size of the image (size=200px
). Default size is 80px.
You can also use the following snippet to achieve the same as above:
{% load gravatar %}
...
{% gravatar 'email@mail' 200 "alt='profile-pic'" %}
...
You can use any HTML attribute instead of alt
, like style
. But only use one optional attribute at a time, Otherwise you will get TemplateSyntaxError
.
If you want to use https://.../
instead of the default http://.../
, then add the following setting in your settings.py
file.
GRAVATAR_SECURE = True # Default False
If any email address has no matching Gravatar image, then, a default image is shown. There are the following types of default images:
404: do not load any image if none is associated with the email hash, instead return an HTTP 404 (File Not Found) response
mp: (mystery-person) a simple, cartoon-style silhouetted outline of a person (does not vary by email hash)
identicon: a geometric pattern based on an email hash
monsterid: a generated ‘monster’ with different colors, faces, etc
wavatar: generated faces with differing features and backgrounds
retro: awesome generated, 8-bit arcade-style pixelated faces
robohash: a generated robot with different colors, faces, etc
blank: a transparent PNG image (border added to HTML below for demonstration purposes)
You can see here how each type of default image looks like.
To show a particular default image out of the above, add the following setting to your settings.py
file.
GRAVATAR_DEFAULT_URL = 'identicon' # Choose any one of the above