在初始化阶段,Django会帮我们创建一个settings.py目录,所有Django的配置都在这个模块中,这样就会产生一些问题,比如同一份配置怎么来更好的区分开发环境和线上环境。当然可以在settings中编写if....else之类的条件,但是这样会导致settings会越来越复杂。

理论上说开发环境的配置和生产环境的配置完全没关系,我们在维护生产环境的配置时,不需要考虑其他环境的配置,因此就有了拆分的逻辑。

具体的做法是把之前的settings.py中的内容放在settings/base.py中,删除原settings.py文件,同时新增__init__.pydevelop.pyproduct.py。拆分独立模块之后,把需要的独立配置的内容分别放在不同的模块中,比如DATABASE配置,在develop.py中可以配置SQLite数据库,在produect.py中配置正式的MySQL数据库等。

下面是相关的具体配置(仅以创建develop,区分不同数据库为例,product类似):

  1. settings.py同级目录下创建setttings的python package文件夹。

    tips: 或者新建文件夹,创建__init__.py文件

  2. setting.py copy 到settings文件夹中,并重命名为base.py, 新建develop.py

  3. develop.py 中进行相关数据库配置

    from .base import *
    
     DEBUG = True
    
     DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
    }
  4. 修改django的启动文件

    manage.pywsgi.py中的代码

    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ideatype.settings')

    替换为

    profile = os.environ.get('TYPEIDEA_PROFILE', 'develop')
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ideatype.settings.%s' %profile)
  5. 配置环境变量

    开发环境:TYPEIDEA_PROFILE = develop

    执行命令:

    • echo export TYPEIDEA_PROFILE=develop >> /etc/profile
    • source /etc/profile

最新文章

  1. windows下使用VS2015编译V8 JavaScript引擎(v5.5 - 2016/09)
  2. 【Java】Lucene检索引擎详解
  3. Codeforces Round #190 DIV.2 A. Ciel and Dancing
  4. c#获取机器唯一识别码
  5. 在smarty模板中嵌入php代码
  6. 独树一帜的字符串匹配算法——RK算法
  7. ASP.NET所谓前台调用后台、后台调用前台想到HTTP——实践篇
  8. 《通过C#学Proto.Actor模型》之Supervision
  9. QGE 在齐次 Besov 空间中的准则
  10. Laravel从入门到精通
  11. 机器学习&深度学习基础(tensorflow版本实现的算法概述0)
  12. OpenGL ES: iOS 自定义 UIView 响应屏幕旋转
  13. Shell获取某目录下所有文件夹的名称
  14. C#获取文件超大图标256*256(转)
  15. 定时器setTimeout()的传参方法
  16. 模板引擎之jade 学习
  17. nginx重写规则配置
  18. 学习笔记|Java 教程|菜鸟教程
  19. VmProtect v2.12.3 安装注冊
  20. java反射 - getXXX 与 getDeclaredXXX

热门文章

  1. ollvm 编译
  2. android中的国际化
  3. node层设置proxy不生效的原因
  4. Jedis连接池的使用(转)
  5. 【luoguP4768】【NOI2018】归程
  6. 启动php-fpm和nginx
  7. xStream.jar踩坑指南
  8. ES6(简单了解)
  9. ACdream 1157 (cdq分治)
  10. /etc/X11/xorg.conf