2017-06-06 4 views
1

J'utilise le framework de sites django.Paramètres Django - Personnaliser les attributs par Site depuis l'administrateur

J'ai un modèle avec un modèle OneToOneField to Site. De cette façon, les utilisateurs administrateurs peuvent personnaliser chaque attribut de site à partir du panneau d'administration.

class CustomSite(models.Model): 
    site = models.OneToOneField(Site) 
    email_host_user = models.EmailField() 
    ... 

Certains de ces champs sont en fait des valeurs qui doivent être utilisées dans le fichier de paramètres, comme EMAIL_HOST_USER. Comment puis-je utiliser ces valeurs dans le fichier de paramètres des sites personnalisés?

Comment puis-je utiliser ces valeurs dans le fichier de paramètres des sites personnalisés? Est-ce la bonne approche?

Répondre

1

trouvé une solution:

Les paramètres sont enregistrés dans la base de données en utilisant ce modèle. Ensuite, je crée un backend personnalisé que je peux passer à EmailMultiAlternatives() via le paramètre 'connection'.

De cette façon, je n'ai pas besoin de stocker les paramètres de messagerie dans un fichier de paramètres.