Login

Currency Widget

Author:
Rupe
Posted:
May 25, 2009
Language:
Python
Version:
1.0
Tags:
internationalization i18n currency babel decimal
Score:
0 (after 0 ratings)

This is a simple TextInput widget that uses my Currency object.

I placed my Currency object in the Django utils directory because I integrated a set of currency objects into the Admin app ( here ) and it was just easier to have everything within Django.

The rest of the series: Currency Object, Currency Form Field, Currency DB Field, Admin Integration

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
from django.forms import widgets
from django.utils.currency import Currency
from django.utils.encoding import force_unicode
from django.utils.safestring import mark_safe
from util import flatatt

class CurrencyInput(widgets.TextInput):

    def render(self, name, value, attrs=None):

        if value is None: value = ''
        final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)
        if value != '':
            # Only add the 'value' attribute if a value is non-empty.
            try:
                value = Currency(value).format()
            except:
                pass
            final_attrs['value'] = force_unicode(value)

        return mark_safe(u'<input%s />' % flatatt(final_attrs))

More like this

  1. Currency DB Field by Rupe 6 years, 3 months ago
  2. Currency Form Field by Rupe 6 years, 3 months ago
  3. Currency Field Admin Integration by Rupe 6 years, 3 months ago
  4. Currency Object by Rupe 6 years, 3 months ago
  5. Replace model select widget in admin with a readonly link to the related object by ekellner 7 years ago

Comments

Please login first before commenting.