Django历史汇率货币
项目描述
Django历史汇率货币
这是一个相对简单的Django应用程序,用于渲染货币金额、在数据库中存储历史汇率以及执行货币转换。
当处理任何历史多货币数据时,通常需要能够使用历史汇率进行汇率计算。这使得将来的转换可以准确地重现。
汇率存储在一个简单的数据库表中,每行表示每个日期的每个汇率。转换可以直接进行,或者通过两个汇率在基准货币之间进行。
格式化由iso4217
定义。汇率数据可以从以下来源获取
- 欧洲央行参考汇率。公开,提供41种货币对EUR的汇率。
- openexchangerates.org。需要(免费)注册,提供169种货币对USD的汇率。
安装
- 在您的Python环境中安装
django-historical-currencies
。 - 将
historical_currencies
添加到settings.py
中的INSTALLED_APPS
。 - 导入昨天的汇率以开始:
manage.py import_ecb_exchangerates --daily
。 - 配置一个周期性任务(例如cron、systemd timer、celery beat)以导入每日汇率。
设置
MAX_EXCHANGE_RATE_AGE
:汇率可以被视为当前的最长时间是多少天?
可选设置,仅适用于OpenExchangeRates.org导入
OPEN_EXCHANGE_RATES_APP_ID
:OpenExchangeRates应用程序ID。OPEN_EXCHANGE_RATES_BASE_CURRENCY
: 基础货币。
使用方法
在代码中,可以使用 historical_currencies.exchange.exchange()
方法进行金额转换。
在模板中,此模块将财务金额表示为 (Decimal, str(currency-code))
的元组。建议的方法是为你的Django模型添加属性,以便为金额返回此元组。
在模板中,可以显示或转换金额
{% load currency_format %}
Assuming my_amount = (Decimal(10), 'USD')
Display:
{{ my_amount|currency }}
-> 10.00 USD
Exchange at the latest rate:
{{ my_amount|exchange:"EUR" }}
-> 9.06 EUR
货币选择器
有两个模板标签可以帮助渲染货币选择器。一个高级的,用于渲染HTML
{% load currency_choices %}
<select>
{% currency_choices_options selected="USD" %}
</select>
和一个低级的,返回货币列表
{% load currency_choices %}
<select>
{% currency_choices_list as currency_choices %}
{% for code, name in currency_choices %}
<option value="{{ code }}">{{ name }}</option>
{% endfor %}
</select>
许可证
此Django应用可在ISC许可证的条款下使用,请参阅 LICENSE
。
项目详情
关闭
哈希值 for django_historical_currencies-0.0.3-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1dd5f21e35105edf6b8940db6d16b719b4463a82f7cc959326b9a11a7788e097 |
|
MD5 | c6f012ed426aee3cadae3ca04674e4bd |
|
BLAKE2b-256 | ca79c7f0ae26afe9c4499eaa8d30427dcb689c01ec86a7e0c8f5c6c0b3ff83f1 |