Quiero configurar algunos de mis ajustes globales de Django configurables a través de la interfaz de administración.Modelos de Django: ¿solo se permite una entrada en un modelo?
Para tal fin, he decidido establecerlos como campos de base de datos, en lugar de en settings.py
.
Estas son las configuraciones que me importa:
class ManagementEmail(models.Model):
librarian_email = models.EmailField()
intro_text = models.CharField(max_length=1000)
signoff_text = models.CharField(max_length=1000)
Estos son de una sola vez la configuración global, por lo que sólo alguna vez quieren que haya un solo librarian_email
, etc intro_text
flotando en el sistema.
¿Hay alguna manera de evitar que los usuarios administradores agreguen nuevos registros aquí, sin impedirles editar el registro existente?
Supongo que puedo hacer esto escribiendo una plantilla de administrador personalizada para este modelo, pero me gustaría saber si hay una manera más ordenada de configurar esto.
¿Podría utilizar algo distinto de class
, por ejemplo?
Gracias!
Gracias. Estoy un poco receloso de django-dbsettings, dado el comentario del desarrollador aquí: http://www.chicagodjango.com/blog/django-settings-database/ – AP257
Parece que sus quejas sobre django-dbsettings no se aplicarían en tu caso. Está definiendo todas las configuraciones en el código. Definitivamente recomendaría no escribir su propio Singleton para manejar esto. –
Es el comentario del desarrollador que dice que ya no lo mantiene, eso me preocupó. De hecho, cuando intenté instalarlo, comencé a recibir errores sobre 'newforms', sugiriendo que estaba bastante desactualizado ... probaré su sugerencia alternativa, ¡gracias! – AP257