Django Evade

PyPI version Build status

Django Evade is a Django template filter <https://docs.djangoproject.com/en/1.11/howto/custom-template-tags/>`_ application for numerically escaping characters in templates.

It’s just like escape, but forces every character to be escaped randomly into either a decimal or hexadecimal numeric character reference by using a combination of Unicode conversion and string formatting. Useful for obscuring mailto hyperlinks to prevent spammers from collecting email addresses. Inspired by a Django snippet.

“Evade” sounded like a more severe form of “escape.”

Install

$ pip install django-evade

Add to settings.py.

INSTALLED_APPS = [
    # ...
    'evade',
]

Usage

{% load evade_tags %}

{{ "me@example.com"|evade }}

One possible result:

&#x6d;&#101;&#64;&#x65;&#120;&#x61;&#109;&#x70;&#108;&#101;&#x2e;&#x63;&#111;&#109;

Indices and tables