我应该在哪里存储信息,如管理员的电子邮件,电话号码?我希望管理员能够随时更改这些数据。在
现在,我有一个模型。它名为AdminContact
,它只允许一行。我认为这样做不合适。此外,它还会导致循环依赖。例如,我不能使用我的模型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()
你能给我一些如何处理这类数据的建议吗?在
一种很好的方法是将其放入
settings.py
文件中,如下所示:ADMIN_CONTACT = {email: 'foo@bar.com', phone: '0585522002'}
然后,您可以通过导入django设置在任何地方访问它:
注意事项:
只能通过修改
settings.py
代码来替换这些值。在其他解决方案:
您还可以使用基本的
User
模型来获取所有超级用户并将其发送出去,或者看看django-constance,它允许您在db端存储常量,并且可以从django-admin
进行编辑。在相关问题 更多 >
编程相关推荐