Skip to main content

Icons 5 for Django

Project description

django-icons

Icons for Django

CI Coverage Status Latest PyPI version Any color you like

Why should I use this?

  • Define your icons in your settings, with defaults for name, title and other attributes.
  • Generate icons using template tags.
  • Supports Font Awesome, Material, Bootstrap 3 and images out of the box.
  • Add other (custom) icon sets by subclassing a renderer.

How do I use this?

Define an icon in your settings.py, for example like this:

DJANGO_ICONS = {
    "ICONS": {
        "edit": {"name": "far fa-pencil"},
    },
}

The basic usage in a Django template:

{% load icons %}
{% icon 'edit' %}

This will generate the FontAwesome 5 pencil icon in regular style:

<i class="far fa-pencil"></i>

Add extra classes and attributes to your predefined icon like this:

{% load icons %}
{% icon 'edit' extra_classes='fa-fw my-own-icon' title='Update' %}

This will generate:

<i class="far fa-pencil fa-fw my-own-icon" title="Update"></i>

Requirements

This package requires a Python 3.6 or newer and Django 2.2 or newer.

The combination must be supported by the Django Project. See "Supported Versions" on https://www.djangoproject.com/download/.

Local installation

Assuming Python>=3.6 is available on your system, the development dependencies are installed with Poetry as follows:

$ git clone git://github.com/zostera/django-icons.git
$ cd django-icons
$ pip install -U pip -r requiremenets-dev.txt

Running the demo

You can run the example app:

run python manage.py runserver

Running the tests

The test suite requires tox to be installed. Run the complete test suite like this:

tox

Test for the current (virtual) environment can be run with the Django manage.py command. If you need to do this, you will need to have an understanding of Python virtual environments. Explaining those is beyong the scope of this README.

python manage.py test

Origin

Our plans at Zostera for an icon tool originate in https://github.com/dyve/django-bootstrap3. We isolated this into a Font Awesome tool in https://github.com/zostera/django-fa. When using our own product, we felt that the icon tool provided little improvement over plain HTML. Also, Font Awesome's icon names did not match the the intended function of the icon.

This is how we came to think of a library that:

  • Took a limited number of arguments
  • Converted those arguments into an icon
  • Was able to support multiple icon libraries
  • And could easily be extended by users

This is how we came to write and use django-icons.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-icons-3.0.0.tar.gz (43.6 kB view hashes)

Uploaded Source

Built Distribution

django_icons-3.0.0-py3-none-any.whl (54.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page