bibi45

2021-01-10 | DevOps 中文

Django 项目配置:环境隔离、最小权限与可观测性

bibi45

从商城项目启动笔记中保留配置要点,并替换过期依赖和不安全的默认做法。

开发、测试和生产环境应共享代码结构,但不共享密钥、数据库地址、调试开关或日志目的地。配置的目标是让部署可复现,同时让敏感值不会进入 Git、镜像或公开文章。

配置基线

  • 以环境变量或受控的密钥管理系统提供 SECRET_KEY、数据库凭据、邮件凭据和第三方令牌。
  • 用依赖锁定文件和隔离环境管理 Python 包;版本应按当前项目测试结果固定,而不是复制多年前的教程版本。
  • 数据库账户授予最小需要的 schema 权限,避免使用可从任意主机连接的全权限账户。
  • 缓存与 session 要设置认证、网络隔离、合理的 TTL,并将连接地址放在配置中而不是源码中。
  • 为结构化日志设置轮转、保留期和脱敏规则;认证头、Cookie、密码和个人数据不进入日志。

启动前检查

在部署前运行迁移、静态文件构建、健康检查和应用级测试;在生产配置中关闭 DEBUG,设置 ALLOWED_HOSTS,并通过 HTTPS 与反向代理处理公网流量。配置代码也需要基础语法检查:旧笔记中的缓存字典存在一个多余的 ],原样复制会导致 Python 语法错误。

旧笔记里固定的 django-redis==4.11.0、mysqlclient==2.0.1 和 virtualenvwrapper 命令只适合当时的教程环境。新项目应根据当前 Django、Python、数据库和部署平台的兼容矩阵重新选择与测试。

© 2026 bibi45. 保留所有权利。

静态网站,内容由 Git 管理。