Django实践之配置文件

原创 2017年08月11日 16:43:00

一个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 配置项目。

版权声明:本文为orangleliu (http://blog.csdn.net/orangleliu/)原创文章,自由传播,文章转载请声明, 多谢。

相关文章推荐

生产环境Django修改过views.py或settings.py没有生效错误依旧的解决办法

这是在生产环境里遇到的问题。解决办法就是:进入远程终端重启服务器,我用的apache。至于原因,这里有参考https://segmentfault.com/q/1010000006261175: ...

Django配置文件

  • 2014年08月11日 13:46
  • 4KB
  • 下载

Django中关于URL配置文件urls.py的理解

1. 什么是urls.py urls.py本质上就是一个标准的python文件,这个python文件的作用就是在URL请求和处理该请求的视图函数之间建立一个对应关系,换句话说,它就是一个url请求映射...
  • tdcqfyl
  • tdcqfyl
  • 2016年08月03日 16:46
  • 7486

Django - 配置文件

Django - 配置文件 1. BASE_DIR __file__这个变量可以获取到当前文件(包含这个代码的文件)的路径。os.path.dirname(__file__) 得到文件...

Maven War包 POM配置文件 设置最佳实践

如何为你的Web程序(war包设定配置文件) 约定 http://maven.apache.org/plugins/maven-war-plugin/examples/adding-filte...

Log4J 最佳实践之全能配置文件

转载自:http://www.blogjava.net/huanghuizz/articles/188147.html 下面给出得Log4J配置文件实现了输出到控制台,文件,回滚文件,发送日志邮...

Maven实践(二):Spring与classpath*加载配置文件

Java代码   问题产生:   前面讲过了Maven建立了依赖关系,把系统分割成了若干个jar/war包.  我建的依赖关系大致是war包中包含n个依赖的jar包,依赖层级...
  • LDBZXD
  • LDBZXD
  • 2015年11月13日 10:18
  • 1289

Spring Boot 配置文件 – 在坑中实践

摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢! 『 仓廪实而知礼节,衣食足而知荣辱 - 管仲 』 本文提纲 一...

Config程序配置文件操作实践进阶之ConfigurationSectionGroup

今天又进一步对 cfg.GetSection(
  • iloli
  • iloli
  • 2014年04月17日 23:44
  • 6980
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Django实践之配置文件
举报原因:
原因补充:

(最多只允许输入30个字)