partirdezero/core/admin.py

29 lines
956 B
Python

from django.contrib import admin
from .models import SiteSettings
@admin.register(SiteSettings)
class SiteSettingsAdmin(admin.ModelAdmin):
# On empêche d'ajouter une nouvelle config s'il en existe déjà une
def has_add_permission(self, request):
return not SiteSettings.objects.exists()
# On empêche de supprimer la config (trop dangereux)
def has_delete_permission(self, request, obj=None):
return False
# Petite astuce visuelle pour l'admin
fieldsets = (
('Général', {
'fields': ('site_name', 'site_logo')
}),
('Réseaux Sociaux', {
'fields': ('facebook_url', 'twitter_url', 'youtube_url'),
'classes': ('collapse',) # Cache cette section par défaut pour alléger
}),
('Contact', {
'fields': ('contact_email',)
}),
('Blog', {
'fields': ('blog_title', 'blog_description')
}),
)