0
我知道簡單的方法,爲所需的貨幣制作幾個不同的字段,但這不僅醜陋,而且貨幣將被硬編碼。在我看來,django-parler更優雅,但我不太明白如何去做。在Django商店中定價的正確方法是什麼?
我知道簡單的方法,爲所需的貨幣制作幾個不同的字段,但這不僅醜陋,而且貨幣將被硬編碼。在我看來,django-parler更優雅,但我不太明白如何去做。在Django商店中定價的正確方法是什麼?
我認爲這是正確的方式:
class CurrencyModel(TranslatableModel):
translations = TranslatedFields(
title = models.CharField(_("Title"), max_length=120),
)
code = models.CharField(_('ISO 4217 code'), max_lenght=3)
def __str__(self):
return self.title
class ItemModel(BaseProduct, TranslatableModel):
slug = models.SlugField(_("Slug"), unique=True)
translations = TranslatedFields(
product_name = models.CharField(_("Item Name"), max_length=256),
item_price = models.FloatField(_("Item price")),
currency = models.ForeignKey(CurrencyModel, verbose_name=_("Currency ")),
)
def get_price(self, request):
money = MoneyMaker(self.currency.code)
return money(self.item_price)
從我所看到的,這種做法是始終在您將要接受的貨幣顯示,並顯示在當地的價格估計值。例如,如果我從美國訪問amazon.ca,它會顯示CAD,並在其旁邊顯示近似USD。我會用模板標籤來做到這一點。您可以輕鬆地從[修復程序](http://fixer.io/)等網站吸引轉化。 – Brobin