Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

dj-gravatar

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dj-gravatar

Use Gravatar in a Django Website

  • 0.0.2
  • PyPI
  • Socket score

Maintainers
1

Dj-Gravatar

Current Version

Dj-Gravatar is a Python package to display avatars using Gravatar on a website developed using Django Framework.

Installation

Windows OS

In the terminal/PowerShell, type

python -m pip install dj-gravatar

If you do not have pip, then download the package from here, unzip it and keep it in your Django project's root directory (as an app).

Linux/MacOS

In the terminal, type

sudo pip3 install dj-gravatar

If you are in a virtual environment, type

pip install dj-gravatar

If you do not have pip, then download the package from here, unzip it and keep it in your Django project's root directory (as an app).

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

Contribute

Contributions are welcome. If you spot any bug(s), have a feature request, or anything else, don't hesitate to do a Pull Request, or opening an issue from here.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc