Add SiteSettings model with currency_symbol field and replace hardcoded currency symbols in templates

This commit is contained in:
2025-11-24 14:00:05 +09:00
parent 9afa37759a
commit 9c6db614d4
8 changed files with 74 additions and 15 deletions

View File

@@ -581,4 +581,33 @@ class TeamMember(models.Model):
return f"{self.first_name} {self.last_name}"
class SiteSettings(models.Model):
"""Глобальные настройки сайта"""
currency_symbol = models.CharField(
max_length=10,
default='',
verbose_name='Символ валюты',
help_text='Символ валюты для отображения на сайте (₩, $, ₽, €, ¥ и т.д.)'
)
class Meta:
verbose_name = 'Настройки сайта'
verbose_name_plural = 'Настройки сайта'
def __str__(self):
return f'Настройки сайта (Валюта: {self.currency_symbol})'
def save(self, *args, **kwargs):
# Singleton pattern - только одна запись настроек
self.pk = 1
super().save(*args, **kwargs)
@classmethod
def get_settings(cls):
"""Получить настройки сайта (создать если не существует)"""
settings, created = cls.objects.get_or_create(pk=1)
return settings