Чтобы попытаться создать переключатель валют, я добавил приложение django-money в INSTALLED_APPS
в settings.py
:
INSTALLED_APPS = [
...
'djmoney',
'djmoney.contrib.exchange',
]
Существует модель Product
сprice
поле в models.py
:
from django.db import models
from djmoney.models.fields import MoneyField
class Product(models.Model):
name = models.CharField(blank=True, max_length=100)
price = MoneyField(max_digits=14, decimal_places=2,
default_currency='USD')
Здесь urls.py
:
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', HomePageView.as_view()),
]
Здесь views.py
:
class HomePageView(TemplateView ,TemplateResponseMixin):
template_name = 'home.html'
def get_context_data(self, **kwargs):
product = Product.objects.first()
context = super().get_context_data(**kwargs)
context["product"] = product
return context
и шаблон home.html
:
<body>
<h1> Price {{product.price}}</h1>
</body>
В шаблоне home.html
отображается Product
цена экземпляра.Я хотел бы добавить возможность переключения между разными валютами и рендеринга соответствующей цены (если значение цены $1
после перехода на валюту евро должно стать ~0,88€
).Я предполагал, что должны быть какие-то встроенные template tags
в django-money app
, чтобы конвертировать цену в шаблоне home.html
, но я не нашел ни одного, может быть, я что-то пропустил.Не могли бы вы поделиться опытом работы с вашими проектами и дать несколько советов о том, какой способ реализации этой идеи самый простой и лучший, с чего начать, потому что я застрял ..