Preview tag for fields with choices

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
from django.template import Library
from django.template.defaultfilters import escape

register = Library()

@register.filter(name='field_str')
def field_str(bound_field):
    field = bound_field.form.fields[bound_field.name]
    if  hasattr(field.widget,'choices'):
        res = [x for x in field.widget.choices 
               if unicode(x[0]) == bound_field.data]
        if len(res)>0:
            return res[0][1]
    return escape(bound_field.data)
        

Comments

(Forgotten your password?)

You may use Markdown syntax here, but raw HTML will be removed.