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

本文详细介绍如何在Django项目中配置不同环境(如测试和正式环境),包括使用环境变量DJANGO_SETTINGS_MODULE来区分启动配置,以及在uwsgi和nginx环境下如何进行相应设置。
部署运行你感兴趣的模型镜像

工程目录结构:

一、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值

 

二、uwsgi+nginx方式启动 区分正式测试环境 

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

原来需要在uwsgi启动文件中指定才可以

 

因此,只需要在正式环境下修改此配置文件的env属性即可区分python运行的正式/测试环境

 

setttins-test.py配置测试环境

获取setttins-test.py中的属性

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

不同的项目类型和框架,指向测试环境配置文件的方法有所不同,以下是常见的几种情况: ### Java Spring Boot 项目 在 Spring Boot 项目中,可以通过配置 `spring.profiles.active` 属性来指定使用环境配置文件。通常,测试环境配置文件命名为 `application-test.properties` 或 `application-test.yml`。 #### 使用命令行参数 在启动项目时,可以通过 `--spring.profiles.active=test` 来指定使用测试环境配置文件。示例命令如下: ```bash java -jar your-project.jar --spring.profiles.active=test ``` #### 修改配置文件 也可以在 `application.properties` 或 `application.yml` 中设置 `spring.profiles.active` 属性: ```properties spring.profiles.active=test ``` 或者在 `application.yml` 中: ```yaml spring: profiles: active: test ``` ### Node.js Express 项目 在 Node.js 的 Express 项目中,可以使用环境变量来区分不同的环境。通常会使用 `NODE_ENV` 环境变量。 #### 使用环境变量 在启动项目时,设置 `NODE_ENV` 为 `test`,并在代码中根据这个环境变量加载不同的配置文件。示例启动命令: ```bash NODE_ENV=test node app.js ``` 在代码中加载配置文件的示例: ```javascript const env = process.env.NODE_ENV || 'development'; const config = require(`./config/${env}.json`); ``` ### Python Django 项目 在 Django 项目中,可以通过修改 `settings.py` 文件来指向不同的环境配置。 #### 使用环境变量 可以在启动项目时设置一个环境变量,然后在 `settings.py` 中根据这个环境变量加载不同的配置文件。示例启动命令: ```bash export DJANGO_SETTINGS_MODULE=your_project.settings.test python manage.py runserver ``` 在 `settings.py` 中,可以根据 `DJANGO_SETTINGS_MODULE` 的值来加载不同的配置: ```python import os if os.environ.get('DJANGO_SETTINGS_MODULE') == 'your_project.settings.test': # 加载测试环境的配置 from .test_settings import * ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值