django项目如何通过指定配置文件来区分正式/测试环境

本文介绍了如何通过配置环境变量来区分Python项目在Django和uWSGI环境下的正式与测试环境。在Django中,通过设置DJANGO_SETTINGS_MODULE环境变量实现;而在uWSGI+nginx场景下,需在uwsgi配置文件中指定环境变量。这种方法使得在不同环境中轻松切换配置文件,确保项目部署的灵活性。
摘要由CSDN通过智能技术生成

参考python 项目如何通过指定配置文件来区分正式/测试环境
工程目录结构:
在这里插入图片描述
一、django方式启动 区分正式测试环境
启动项目的命令是 python manage.py runserver 0.0.0.0:8000,可以看出,是通过启动manage.py来启动整个项目的,而这里运行配置文件是通过获取系统环境变量 DJANGO_SETTINGS_MODULE 的值来指定的,

所以只需要在环境变量中配一下或者在这里写死就可以轻松指定运行哪个配置文件,部署到linux上的时候也可以通过配置环境变量/etc/profile或者启动shell里配置临时环境变量export来指定
在这里插入图片描述

os.environ.setdefault(key,value)    #如果环境变量中没有该值,则默认设置为value,如果有,则保持原值
 
os.getenv('DJANGO_SETTINGS_MODULE') #获取环境中的value值

并且,在pycharm里的启动设置里,有个设置启动的环境变量的地方,可以默认使用生产的,然后本地的在这里进行设置为测试
在这里插入图片描述

二、uwsgi+nginx方式启动 区分正式测试环境
启动项目的命令是 uwsgi --ini /etc/uwsgi8080.ini ,可以看出,是通过启动wsgi.py来启动整个项目的,而这里运行配置文件是通过获取系统环境变量 DJANGO_SETTINGS_MODULE 的值来指定的,但是在liux中配置环境变量这里却读不到;

原来需要在uwsgi启动文件中指定才可以
在这里插入图片描述
在这里插入图片描述
因此,只需要在正式环境下修改此配置文件的env属性即可区分python运行的正式/测试环境

setttins-test.py配置测试环境
在这里插入图片描述
获取setttins-test.py中的属性
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值