Skip to content

Instantly share code, notes, and snippets.

@m5wdev
Last active June 14, 2018 13:05
Show Gist options
  • Save m5wdev/984de8b7a4d202e09b4d7b4975049a81 to your computer and use it in GitHub Desktop.
Save m5wdev/984de8b7a4d202e09b4d7b4975049a81 to your computer and use it in GitHub Desktop.
Django 2.* Model for Global application Settings
class SettingsAdmin(admin.ModelAdmin):
def has_add_permission(self, request):
# if there's already an entry, do not allow adding
count = Settings.objects.all().count()
if count == 0:
return True
return False
admin.site.register(Settings, SettingsAdmin)
class Settings(models.Model):
site_email = models.EmailField(max_length=255, verbose_name='Основной Email')
site_phone = models.CharField(max_length=255, verbose_name='Основной телефон')
site_title = models.CharField(max_length=255, verbose_name='Title сайта', help_text='Текст в тегe <title>')
site_meta_description = models.CharField(max_length=150, verbose_name='Meta-Description сайта', help_text='max 150 символов')
site_discount = models.PositiveIntegerField(verbose_name='Размер скидки (в %)', help_text='от 0 до 100', validators=[MinValueValidator(0), MaxValueValidator(100)])
def __str__(self):
return 'Настройки сайта'
class Meta:
verbose_name = 'Настройки сайта'
verbose_name_plural = 'Настройки сайта'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment