tickets: Use django.utils.format for number formatting.
authorMatthijs Kooijman <matthijs@stdin.nl>
Tue, 19 Oct 2010 14:56:18 +0000 (16:56 +0200)
committerMatthijs Kooijman <matthijs@stdin.nl>
Tue, 19 Oct 2010 14:56:18 +0000 (16:56 +0200)
Using % interpolation with %f does not do localized number formatting
(and the %d that was used did not do any floating point formatting at
all).

tickets/models.py

index 5c5a8190d0d15615d2ee7e8051b5acbf6f2da642..cff9f2355b0de7a535d73e42676bf7786bba0860 100644 (file)
@@ -1,6 +1,7 @@
 # coding=utf-8
 
 from django.db import models
+from django.utils.formats import number_format
 
 # Create your models here.
 
@@ -11,7 +12,7 @@ SHOW_CHOICES = [ ("vrijdag", "vrijdag 17 december, 20:00")
 
 TICKET_PRICE=7.5
 
-TICKETS_CHOICES = [ (n, u"%s (€%.2d)" % (n, n * TICKET_PRICE)) for n in range(1, 6)]
+TICKETS_CHOICES = [ (n, u"%s (€ %s)" % (n, number_format(n * TICKET_PRICE,2))) for n in range(1, 6)]
 
 class Booking(models.Model):
     created = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Datum")
@@ -26,8 +27,8 @@ class Booking(models.Model):
     price = property(_get_price)
 
     def __unicode__(self):
-        return u'#%s: %s - %s - %s kaart%s (€ %.2d)' % (
+        return u'#%s: %s - %s - %s kaart%s (€ %s)' % (
             self.pk, self.name,
             self.get_show_display(),
             self.tickets, "en" if self.tickets != 1 else "",
-            self.price)
+            number_format(self.price, 2))