=================================
django SHOP - Multiple Currencies
=================================
This app adds support for multiple currencies to django SHOP.
Warning
=======
Do not use (yet)!
This app is still under development and might not work at all.
Installation
============
This requires django SHOP to work (https://github.com/chrisglass/django-shop)
* Add `shop_multiplecurrencies` to your INSTALLED_APPS in your settings.py
* Add `shop_multiplecurrencies.middleware.MultipleCurrenciesMiddleware` to your
`MIDDLEWARE_CLASSES` setting
* Add a list of currencies to the `SHOP_CURRENCIES` setting like so
::
SHOP_CURRENCIES=[ # lowercase codes, please
['chf', 'swiss franc'],
['eur', 'euro'],
]
Usage
=====
* Add a MultipleCurrenciesField to your product model
::
from django.db import models
from shop_multiplecurrencies.fields import MultipleCurrenciesField
from shop.util.fields import CurrencyField
class MyProduct(models.Model):
# my fields ...
price = MultipleCurrenciesField(CurrencyField)
The model will in our example have two fields: `price_chf` and `price_eur`.
* Extend BaseOrder with an additional field that tells us which currency the order was completed in
::
from django.conf import settings
from shop.models.defaults.bases import BaseOrder
from shop.models.defaults.managers import OrderManager
class MyOrder(BaseOrder):
currency = models.CharField(max_length=6, choices=settings.SHOP_CURRENCIES)
objects = OrderManager()
def save(self, *args, **kwargs):
self.currency = get_currency()
super(MyOrder, self).save(*args, **kwargs)
class Meta(object):
abstract = False
* Use the currency template filter in your templates to prefix the price with the correct currency
::
{% load currency %}
<p>This product's price is {{ price|currency }}</p>
django SHOP - Multiple Currencies
=================================
This app adds support for multiple currencies to django SHOP.
Warning
=======
Do not use (yet)!
This app is still under development and might not work at all.
Installation
============
This requires django SHOP to work (https://github.com/chrisglass/django-shop)
* Add `shop_multiplecurrencies` to your INSTALLED_APPS in your settings.py
* Add `shop_multiplecurrencies.middleware.MultipleCurrenciesMiddleware` to your
`MIDDLEWARE_CLASSES` setting
* Add a list of currencies to the `SHOP_CURRENCIES` setting like so
::
SHOP_CURRENCIES=[ # lowercase codes, please
['chf', 'swiss franc'],
['eur', 'euro'],
]
Usage
=====
* Add a MultipleCurrenciesField to your product model
::
from django.db import models
from shop_multiplecurrencies.fields import MultipleCurrenciesField
from shop.util.fields import CurrencyField
class MyProduct(models.Model):
# my fields ...
price = MultipleCurrenciesField(CurrencyField)
The model will in our example have two fields: `price_chf` and `price_eur`.
* Extend BaseOrder with an additional field that tells us which currency the order was completed in
::
from django.conf import settings
from shop.models.defaults.bases import BaseOrder
from shop.models.defaults.managers import OrderManager
class MyOrder(BaseOrder):
currency = models.CharField(max_length=6, choices=settings.SHOP_CURRENCIES)
objects = OrderManager()
def save(self, *args, **kwargs):
self.currency = get_currency()
super(MyOrder, self).save(*args, **kwargs)
class Meta(object):
abstract = False
* Use the currency template filter in your templates to prefix the price with the correct currency
::
{% load currency %}
<p>This product's price is {{ price|currency }}</p>
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-shop-multiplecurrencies-1.0.0.tar.gz.
File metadata
- Download URL: django-shop-multiplecurrencies-1.0.0.tar.gz
- Upload date:
- Size: 3.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
979a0745255149ef36c783f33881a2bebf99839354427766971809316ab79ede
|
|
| MD5 |
9bcaaa7b802d3fb5ba525383b4316dc6
|
|
| BLAKE2b-256 |
2839158cf0aa3468e8f6013fba3b6765329303db856594a68127df0ef443675b
|