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 protected]"|html_encode_email}}

Or if you want some control over the anchor tag:

<a href="mailto:{{"[email protected]"|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. Template tag - list punctuation for a list of items by shapiromatron 2 months ago
  2. JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 2 months, 1 week ago
  3. Serializer factory with Django Rest Framework by julio 9 months, 1 week ago
  4. Image compression before saving the new model / work with JPG, PNG by Schleidens 9 months, 4 weeks ago
  5. Help text hyperlinks by sa2812 10 months, 3 weeks ago

Comments

Please login first before commenting.