Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
前一小节的日志分析任务中,将访问请求的信息按照指定格式存入 log 文件,在分析log 日志的请求次数、最大值、最小值以及平均值。线上发生错误时,需要及时去发现,可以使用django框架自带的错误日志发送邮件。
一、日志分析任务
二、配置邮件
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.qq.com'
# EMAIL_PORT = 25
# EMAIL_USE_TLS = False
# 加密
EMAIL_PORT = 465
EMAIL_HOST_USER = '**********@qq.com'
# 填写授权码
EMAIL_HOST_PASSWORD = '*********'
# 开启 TLS
EMAIL_USE_TLS = True
EMAIL_FROM = '*********@qq.com'
三、发送邮件
def report_by_mail():
logger.info("Begin statistics data.")
content = statistics()
# 换行符拆分
content = "\r\n".join(content)
logger.info("End statistics data.")
receivers = ["**********@qq.com"]
# 说明、内容编码
msg = MIMEText(content, "plain", "utf-8")
msg["FROM"] = "【 Django Backend】"
msg["Subject"] = "【Django Service Performance Monitor】"
server = smtplib.SMTP_SSL(settings.EMAIL_HOST, settings.EMAIL_PORT)
server.set_debuglevel(1)
server.login(settings.EMAIL_HOST_USER, settings.EMAIL_HOST_PASSWORD)
server.sendmail(settings.EMAIL_FROM, receivers, msg.as_string())
server.close()
logger.info("Send monitor Email success.")
if __name__ == "__main__":
report_by_mail()