Django货币转换
在Django中有没有什么功能可以进行货币转换?显然,汇率是每天都在变化的,但我有点希望locale模块里有某种基于网络服务的转换器。
这里有一段代码可以处理格式化:http://www.djangosnippets.org/snippets/552/ 但我需要先对数值进行本地化。
4 个回答
0
你可以在基于Django的项目中使用django-money这个应用来进行货币转换。
它可以与不同的汇率来源配合使用,并提供一个界面来进行转换和货币本地化:
>>> # After app setup & adding rates to the DB
>>> from djmoney.money import Money
>>> from djmoney.contrib.exchange.models import convert_money
>>> value = Money(100, 'EUR')
>>> converted = convert_money(value, 'USD')
>>> converted
<Money: 122.8184375038380800 USD>
>>> str(converted)
US$122.82
格式也很容易自定义,你可以在项目页面找到相关的文档。
2
# Install google-currency package
# pip install google-currency
>>> from google_currency import convert
>>> convert('usd', 'bdt', 1)
输出结果:
{"from": "USD", "to": "BDT", "amount": "85.30", "converted": true}
5
可能有更优雅的方法来做到这一点,但这个方法是有效的。
currency_in = 'USD'
currency_out = 'NOK'
import urllib2
req = urllib2.urlopen('http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s='+currency_in+currency_out+'=X')
result = req.read()
# result = "USDNOK=X",5.9423,"5/3/2010","12:39pm"
然后你可以用split()来分割结果,以获取修饰符。