FlaskCurrency

Currency handling extension for Flask and SQLAlchemy


License
MIT
Install
pip install FlaskCurrency==1.0

Documentation

Flask-Currency

Currency handling extension for Flask.

Usage

###Initialization Initialize extension by providing Flask and Flask-SQLAlchemy instance.

from flask import Flask
from flask_currency import Currency
from flask_sqlalchemy import SQLAlchemy


app = Flask(__name__)
db = SQLAlchemy(app) 
currency = Currency(app, db)


if __name__ == '__main__':
    app.run()

Optionally, an extended currency model can be provided (for translation support, etc.). If the model is not extended, it can be accessed through the Currency.model attribute.

Money class

A money class is defined, which uses the Currency model for value calculation and formatting.

>>> from flask_currency import Money
>>> price = Money(100, 'USD')
>>> print(price)
'$100.00'

>>> in_eur = price.convert_to('EUR')
>>> print(in_eur)
'90.71 €'

Currencies

The currencies table must be maintained, currency data must be added manually.

eur = currency.model(
    name='Euro',
    code='EUR',
    sign='€',
    value=1,
    format_str='{:,.2f} €'
)
db.session.add(eur)
db.session.commit()