python settings.py_python – 动态settings.py

1#可能你已经知道了,django-constance不支持元组.基本上,特别难以检测元组的小部件

在你的情况下.可以添加/删除ADMINS,以便您可以通过单个小部件使其动态化.!!(想想所有的django小部件).所以在这里

CONSTANCE_ADDITIONAL_FIELDS也不起作用.

2#我认为你误解了django constance的工作.

它不会刷新您的django服务器.所以MANAGER = CONSTANCE_CONFIG [‘ADMINS’] [0]完全错误(即使使用CONSTANCE_ADDITIONAL_FIELDS).您在此处访问常量值(非动态).

你需要像访问它一样

from constance import config

print(config.ADMINS)

3#默认日志记录配置使用admin_admins的AdminEmailHandler类,它使用来自django设置的ADMINS值,而不是constance配置.

因此,一种可能的解决方案可能是创建自己的处理程序类,该类将使用来自constance config的ADMINS值.所以将你的setting.py改为

CONSTANCE_CONFIG = {

'ADMIN1': ('admin@gmail.com', 'This one will receive error on 500'),

} # you can add as many admins as you want with ADMIN1, ADMIN2 etc(no tuple)

然后创建自己的处理程序类,它将使用CONSTANCE_CONFIG.

from django.utils.log import AdminEmailHandler

from constance import config

from django.conf import settings

from django.core.mail.message import EmailMultiAlternatives

class ConstanceEmailHandler(AdminEmailHandler):

def send_mail(self, subject, message, html_message=None, fail_silently=False, *args, **kwargs):

# create a list of ADMIN emails here, if you have more then one ADMIN

mail = EmailMultiAlternatives('%s%s' % (settings.EMAIL_SUBJECT_PREFIX, subject),

message, settings.SERVER_EMAIL, [config.ADMIN1],

connection=self.connection())

if html_message:

mail.attach_alternative(html_message, 'text/html')

mail.send(fail_silently=fail_silently)

然后更改您的LOGGER配置.如果您没有自定义LOGGING设置,我建议您从django.utils.log(DEFAULT_LOGGING)复制默认记录器配置.并将mail_admins更改为

'mail_admins': {

'level': 'ERROR',

'filters': ['require_debug_false'], # change it to require_debug_true if you want to test it locally.

'class': '..ConstanceEmailHandler', # path to newly created handler class

'include_html': True

},

提示 CTRL Q: 在参数列表位置,显示可以输入的所有参数。 CTRL Q: 查看选中方法的文档字符串 阅读 CTRL -: 折叠当前代码 CTRL +: 展开当前代码 CTRL SHIFT -: 折叠所有代码 CTRL SHIFT +: 展开所有代码 CTRL SHIFT F7:  将当前单词在整个文件中高亮,F3移动到下一个,ESC取消高亮。 CTRL F11 | F11: 设置书签. SHIFT F11: 显示所有书签。 CTRL F12: 当一个文件中方法太多,要快速跳到某个方法时,可以用此快捷键打开LIST, 除了用上下箭选择外,还可以输入字母。 移动 ALT F7: 查找哪些地方使用了选中的方法。 ALT UP: 移到上一个方法 ALT DOWN: 移到下一个方法 CTRL B | CTRL 单击: 转到方法定义处 CTRL SHIFT UP: 将当前行上移一行 CTRL SHIFT UP: 将当前行下移一行 SHIFT ENTER: 在行中间执行时,智能跳到下一行。 注释 CTRL /: 注释、取消注释行 选择 ALT 左键: 列模式选择 CTRL W: 选中当前单词,继续按,选中它所属的行/IF/方法. 编辑 CTRL D: 未选中时,复制当前行到下一行,选中时复制粘贴选中部分。 CTRL J: 输入模板 SHIFT F6: 更改变量/方法名字 删除 CTRY Y: 删除当前行 调试 CTRL F8: 设置/取消断点 其它 CTRL E: 最近访问的文件列表 ESC: 焦点从其它窗口到编辑窗口 SHIFT ESC:  隐藏当前窗口,焦点到编辑窗口 F12: 焦点从编辑窗口到上一个使用窗口 编辑器右键,local history, show history: 显示本地修改记录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值