我应该在哪里存储管理员的电子邮件,电话号码等信息?我希望管理员能够随时更改此数据。
现在,我有一个模型。它被称为email
,它只允许一行。我认为这不是一个合适的方法。而且,它会导致循环依赖。例如,我无法使用我的模型send_message_to_all_users
,因为循环依赖性,模型中包含send_alert_to_admin
,# -*- 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()
等所有联系方式。
我现在这样做的方式:
pip install nose
nosetests -v numpy
nosetests -v sklearn
您能否就如何处理此类数据向我提出任何建议?
答案 0 :(得分:2)
执行此操作的一个好方法是将其放在settings.py
文件中,如下所示:
ADMIN_CONTACT = {email: 'foo@bar.com', phone: '0585522002'}
然后您可以通过导入django设置在任何地方访问它:
from django.conf import settings
from django.core.mail import EmailMessage
def send_message_to_admin(subject,message):
EmailMessage(subject,message,to=[settings.ADMIN_CONTACT['email']]).send()
警告:
您只能通过修改settings.py
代码来替换这些值。
其他解决方案:
您还可以使用基础User
模型来获取所有超级用户并将其邮寄,或者查看django-constance,它允许您在数据库端存储常量,并可以从{{1 }}