默认情况下,Django从webmaster @ localhost和root @ localhost发送电子邮件。但是,某些邮件提供商拒绝来自这些地址的电子邮件。要使用其他发件人地址,请修改DEFAULT_FROM_EMAIL和 SERVER_EMAIL设置。
STATIC_ROOT和STATIC_URL
静态文件由开发服务器自动提供。在生产中,必须定义一个STATIC_ROOT目录,collectstatic将它们复制到该目录中 。
有关更多信息,请参见管理静态文件(例如,图像,JavaScript,CSS)。
MEDIA_ROOT和MEDIA_URL
媒体文件由您的用户上传。他们是不信任的!确保您的Web服务器从不尝试解释它们。例如,如果用户上传 .php文件,则Web服务器不应执行该文件。
现在是检查这些文件的备份策略的好时机。
HTTPS
任何允许用户登录的网站都应实施站点范围的HTTPS,以避免明文传输访问令牌。在Django中,访问令牌包括登录名/密码,会话cookie和密码重置令牌。(如果要通过电子邮件发送密码重置令牌,则无法做很多事情来保护它们。)
保护敏感区域(例如用户帐户或管理员)是不够的,因为HTTP和HTTPS使用相同的会话cookie。您的网络服务器必须将所有HTTP通信重定向到HTTPS,并且只能将HTTPS请求传输到Django。
设置HTTPS后,请启用以下设置。
CSRF_COOKIE_SECURE
进行设置True以避免在HTTP上意外传输CSRF cookie。
SESSION_COOKIE_SECURE
进行设置True以避免在HTTP上意外传输会话cookie。
性能优化
设置将禁用仅在开发中有用的几个功能。此外,您可以调整以下设置。DEBUG = False
会话
考虑使用缓存的会话来提高性能。
如果使用数据库支持的会话,请定期清除旧会话,以避免存储不必要的数据。
CONN_MAX_AGE
如果在请求处理时间的很大一部分时间内连接到数据库帐户,则启用持久性数据库连接可以大大提高速度。
这对网络性能有限的虚拟主机有很大帮助。
TEMPLATES
启用缓存的模板加载器通常会大大提高性能,因为它避免了每次需要渲染每个模板时都对它们进行编译。有关更多信息,请参见 模板加载器文档。
错误报告
当您将代码推向生产时,它有望变得健壮,但不能排除意外错误。值得庆幸的是,Django可以捕获错误并相应地通知您。
LOGGING
在将网站投入生产之前,请查看日志记录配置,并在收到一些流量后立即检查它是否按预期工作。
有关日志记录的详细信息,请参见日志记录。
ADMINS和MANAGERS
ADMINS 将通过电子邮件通知500个错误。
MANAGERS将会收到404错误的通知。 IGNORABLE_404_URLS可以帮助过滤掉虚假报告。
有关通过电子邮件报告错误的详细信息,请参见错误报告。
通过电子邮件报告的错误无法很好地扩展
在您的收件箱被报告淹没之前,请考虑使用诸如Sentry之类的错误监视系统。哨兵也可以汇总日志。
自定义默认错误视图
Django包含一些HTTP错误代码的默认视图和模板。您可能希望通过在根模板目录中创建以下模板来覆盖缺省模板:404.html,500.html,403.html,和 400.html。使用这些模板的默认错误视图足以满足99%的Web应用程序的要求,但是您也可以对其进行 自定义。
详情参考: https://docs.djangoproject.com/en/3.0/
标签:Django
相关阅读 >>
更多相关阅读请进入《Django》频道 >>

Python编程 从入门到实践 第2版
python入门书籍,非常畅销,超高好评,python官方公认好书。