Add SiteSettings model with currency_symbol field and replace hardcoded currency symbols in templates
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user