Login

Encode emails as URIs

Author:
fahhem
Posted:
August 18, 2010
Language:
Python
Version:
1.2
Score:
1 (after 1 ratings)

Put this snippet in a file in a templatetags/ directory and load it in your templates. Then use it to encode your emails:

{{"email@example.com"|html_encode_email}}

Or if you want some control over the anchor tag:

<a href="mailto:{{"email@example.com"|html_encode}}&subject=Feedback">Send Feedback</a>

From fahhem.com and Recrec Labs

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from django import template

register = template.Library()

@register.filter
def html_encode(text):
    return ''.join(map(lambda c:'%%%x'%ord(c),text))
html_encode.is_safe=True

@register.filter
def html_encode_email(email):
    return '<a href="mailto:%s">%s</a>' % (html_encode(email),email)
html_encode_email.is_safe=True

More like this

  1. Mask sensitive data from logger by agusmakmun 1 week, 4 days ago
  2. Template tag - list punctuation for a list of items by shapiromatron 1 year, 2 months ago
  3. JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 1 year, 2 months ago
  4. Serializer factory with Django Rest Framework by julio 1 year, 9 months ago
  5. Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 10 months ago

Comments

Please login first before commenting.