Django实践之配置文件

标签: django配置管理环境git测试
158人阅读 评论(0) 收藏 举报
分类:

一个django项目通常有几个环境,开发环境,测试环境,单元测试环境,以及生产环境,这里每一种环境的settings配置都有一些区别。默认的settings是一个py文件,这里采用一个模块来组织。

目标
- 每个环境不冲突
- git中不冲突

配置管理

Django启动时候指定settings一般有2中形式

  1. 采用 DJANGO_SETTINGS_MODULE 环境变量,例如 export DJANGO_SETTINGS_MODULE=elf.settings.pro, 线上使用这种方式

  2. 使用命令参数的方式 python manage.py runserver --settings=elf.settings.dev 当然这个只是在开发环境中

可以把上面的环境变量或者参数设置写成shell脚本,省的总是忘记

文件组织结构

├── settings
│   ├── __init__.py
│   ├── base.py
│   ├── dev.py
│   ├── dev.py.example
│   ├── pro.py
│   ├── test.py

说明:

  • base.py 是通用配置,所有环境都相同的可以配置在这里
  • pro.py 是生产环境,如果有些内容无法放到版本控制中,还需要结合配置系统等
  • dev.py.example 说下这个文件,它是dev.py的模版,dev.py是不用上传的git的,每个人的开发环境保持的一份就好。开发的时候从git clone 下来dev.py.example,然后修改成自己的 dev.py 使用。
  • test.py 单元测试配置,例如数据库,还有一些加速测试的配置等
  • 其他环境,可以自己定义

配置导入

如果自己定义了一些全局配置在settings中,导入的时候使用

from django.conf import settings

settings.MY_SETTING_ITEM

这样可以通过 lazy 方式 load 配置项目。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1308361次
    • 积分:17203
    • 等级:
    • 排名:第588名
    • 原创:444篇
    • 转载:35篇
    • 译文:22篇
    • 评论:106条
    感谢支持
    一起玩
    统计