On Tue, 2009-03-10 at 02:11 -0700, Joshua Russo wrote: > I found this in my searches for formatting a decimal as a proper > currency output: http://www.djangosnippets.org/snippets/552/
Oh, that's a really bad idea. :-( Calling setlocale() in multi-threaded applications is simply not something you should do. It changes the locale for *everything*. Including things that expect numbers to be formatted in the C locale (such as serialisation and deserialisation). In a multi-lingual application, it's also going to lead to most threads of execution seeing the wrong locale. Please don't use that snippet. It's broken for anything but the most simple, single-threaded use-cases. If you really want currency formatting and the like at the moment, the "babel" project is the place to look. At some point (maybe in 1.1, but I wouldn't hold my breath at the moment), Django will have native support for some of this stuff, although probably not for things like adding commas to long numbers. We do want to add support for the appropriate decimal separator in a locale-aware fashion (so you can enter 1,23 in a form in Europe and have it validate correctly). But for all the really advanced bells and whistles, use babel. Regards, Malcolm --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---

