Django 开发环境与生产环境的区分详解
框架(架构)  /  管理员 发布于 7年前   201
Django 开发环境与生产环境的设置
在常规的Django工程开发中,我们经常会遇到一类问题,即:本地开发环境跟远程服务器生产环境配置不一样。对于这些不同之处,以前的做法是直接修改生产环境中的配置。但是对于立志自动化体系的开发者来说,显然这是极其愚蠢的。
那么常规的做法是什么呢?既然是不同的环境,两份不同的配置文件是必须的。
准备配置文件
在新建的Django项目中与settings.py同级目录下,准备两份不同的settings:
|____EveryDay| |____prd_settings.py| |______init__.py| |____settings.py| |____dev_settings.py| |____urls.py| |____wsgi.py
从默认的setting中导入不同的配置
在这里,我并不打算修改django默认的配置模块:settings.py。而是通过辨别当前环境是生产环境还是开发环境来区分加载不同的配置。so,我们需要通过设置一个生产环境才有的环境变量,然后在settings.py中判断这个环境变量的存在与否来决定导入哪一份配置。
show code:
# settings.pyimport os# Default settings between dev and prdif os.environ.get('ENV', None): from .prd_settings import *else: from .dev_settings import *
因为服务器使用的是CentOS7,我们直接在/etc/profile中增加环境变量
export ENV="SERVER"
从运行时中导入不同的配置
manage.py在运行时还提供了Csettings选项用于指定settings模块,因此用于启动django自带的debug服务器还是挺方便的。
python manage.py rumserver 0.0.0.0:8000 --settings=EveryDay.prd_settings
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号