Login

Convert XHTML-compatible shorttag to HTML-compatible tag.

Author:
clamothe
Posted:
April 22, 2008
Language:
Python
Version:
.96
Tags:
newforms html xhtml html4 shorttag
Score:
0 (after 2 ratings)

This filter converts a XHTML-compatible shorttag <input ... /> to a HTML4-compatible tag <input ...>.

Example:

{% for field in form %} <dt>{{ field.label_tag }}</dt> <dd> {{ field.errors }} {{ field|remove_shorttag }} </dd> {% endfor %}

This will produce html4-compatible output, opposed to newform's normal XHTML output.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import re
from django import template
from django.utils.safestring import mark_safe
register = template.Library()


shorttag_regex = re.compile('^<([^/>]*[^\s]+)\s*/>$')

@template.defaultfilters.stringfilter
def remove_shorttag(field):
	search = shorttag_regex.search(field)
	if search:
		try:
			return mark_safe(u'<%s>' % search.groups()[0])
		except:
			return mark_safe(field)
	else:
		return mark_safe(field)
remove_shorttag.is_safe = True

register.filter('remove_shorttag', remove_shorttag)

More like this

  1. Django csrf_token Template Tag Fix by Reustle 5 years, 1 month ago
  2. Add CSS class template filter by lazerscience 4 years, 9 months ago
  3. Clear FileField/ImageField files in the Admin by marinho 6 years, 1 month ago
  4. Fieldsets for Views by Nad 5 years, 7 months ago
  5. YUI Loader as Django middleware by akaihola 7 years, 4 months ago

Comments

Please login first before commenting.