Em alguns models e forms estou trabalhando com números reais. Dei uma
pesquisada mas não encontrei nada alem do humanize
(http://docs.djangoproject.com/en/dev/ref/contrib/humanize/) sobre
como formatar estes números.
Eu gostaria de trabalhar com números no formato brasileiro, que seria
algo assim: 1.000,50 para indicar mil reais e cinquenta centavos.
Devo criar filtros para mostrar os números neste formato ou tem algo pronto?
Como faria para um field de um form exibir seu conteúdo neste formato?
Vlw,
Celso Tonelli
[1] http://docs.djangoproject.com/en/dev/ref/templates/builtins/#floatformat
[2] http://www.gustavohenrique.net/brogui/2009/04/formatando-decimal-para-moeda-brasileira/
--
Gustavo Henrique
Site: http://www.gustavohenrique.net
Blog: http://blog.gustavohenrique.net
No host onde está hospedado o meu projeto é utilizado a versão 2.4 do
python então acredito que não terei como utilizar o locale.
E o problema não seria apenas com moeda, também queria poder utilizar
para porcentagem, ou qualquer outro número decimal.
Por exemplo, eu tenho um model onde é inserida uma porcentagem de
desconto, quando eu crio um model form esse campo é preenchido com o
ponto(.) separando a parte inteira da decimal, por exemplo 5.25 para
indicar 5,25%, eu queria que a vírgula(,) fosse utilizada ao invés do
ponto para separar a parte decimal.
Alguma ideia?
Normalmente no meu model eu utilizo deste modo:
from locale import setlocale, currency as moeda, LC_ALL
class Produto(models.Model):
[ ... campos ... ]
def preco_real(self):
setlocale(LC_ALL,'pt_BR.UTF-8')
return moeda(self.preco, grouping=True)
preco_real.short_description = 'Preço'
ai no template eu chamo ele como se fosse um campo normal do model