Wo sollte ich Informationen wie die E-Mail des Administrators, die Telefonnummer speichern? Ich möchte, dass Admin diese Daten jederzeit ändern kann.Wo kann man globale Daten in Django speichern?
Jetzt habe ich ein Modell dafür. Es heißt AdminContact
und es erlaubt nur eine Zeile. Ich denke, es ist kein geeigneter Weg, dies zu tun. Außerdem verursacht es zirkuläre Abhängigkeiten. Zum Beispiel kann ich mein Modell email
nicht verwenden, das alle Kontaktmethoden wie send_message_to_all_users
, send_alert_to_admin
in Modellen aufgrund von zirkulären Abhängigkeiten enthält. Jetzt
So wie ich es tun:
# -*- coding: utf-8 -*-
from django.core.mail import EmailMessage
from models import AdminContact
def send_message_to_admin(subject,message):
EmailMessage(subject,message,to=[AdminContact.objects.all()[0].email]).send()
Können Sie mir geben irgendwelche Empfehlungen, wie diese Art von Daten zu behandeln?
Ist kein Django in 'User' Modell gebaut, was Sie brauchen? –
Django hat Benutzer. Benutzer haben die Flags is_staff und is_superuser, die Sie verwenden können, oder Sie können Ihr eigenes Flag hinzufügen, um Administratoren zu bestimmen. Benutzer haben ein E-Mail-Feld und Sie können weitere Felder in einem Benutzerprofilmodell hinzufügen. –
Django hat auch eine eingebaute Möglichkeit, alle Admins per E-Mail zu senden. Sie erfinden das Rad überall neu! –