Currency conversion for money
The full documentation is at https://django-money-rates.readthedocs.io/.
Install django-money-rates:
pip install django-money-rates
Then use it in a project:
import djmoney_rates
In order to save exchange rates to your database, add djmoney_rates to your INSTALLED_APPS in your project's settings:
INSTALLED_APPS = ( ... 'djmoney_rates', ... )
Open an account at https://openexchangerates.org/ if you don't have one already. Then, add this to your project's settings:
DJANGO_MONEY_RATES = { 'DEFAULT_BACKEND': 'djmoney_rates.backends.OpenExchangeBackend', 'OPENEXCHANGE_URL': 'http://openexchangerates.org/api/latest.json', 'OPENEXCHANGE_APP_ID': 'YOUR APP ID HERE', 'OPENEXCHANGE_BASE_CURRENCY': 'USD', }
For more information on the Open Exchange Rates API, see https://openexchangerates.org/
Once your backend is setup, get the latest exchange rates:
$ ./manage.py update_rates
Here's an example of converting 10 Euros to Brazilian Reais:
from moneyed import Money
from djmoney_rates.utils import convert_money
brl_money = convert_money(10, "EUR", "BRL")
- Convert money from one currency to another with an easy to use API.
- Add money converter wrapper for util's convert_money function.
- Add celery periodic task for getting daily exchange rates.