Django 多环境配置详解

本文也是开发项目中的一个小经验Tip,虽然很简单,但对很多朋友也有小帮助。

我们实际工程中,可能遇到开发环境、预上线环境、线上环境等环境场景,应用配置因此可能有所不同。

我的经验是利用环境变量来定义应用运行环境,并在代码中做对应的判定。

具体来说,我在settings.py中增加了一些判定代码,大概如下:

APP_ENV = os.getenv('APP_ENV')
if APP_ENV == 'prod':
  from ._settings.prod_settings import *
elif APP_ENV == 'test':
  from ._settings.test_settings import *
else:
  from ._settings.dev_settings import *

首先取环境变量APP_ENV,根据APP_ENV不通加载_settings包中的不同配置文件。

比如,prod_settings.py中关闭了DEBUG:

# -*- coding: utf-8 -*-

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False

而在test_settings.py中开启了DEBUG:

# -*- coding: utf-8 -*-

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

在启动wsgi容器的时候,我们可以指定APP_ENV环境变量。

比如,利用manage.py做开发的时候:

ZDEVOPS_ENV=test python manage.py runserver

再比如,用systemctl做生产部署的时候:

# 环境变量
Environment='APP_ENV=prod'
# 进程工作目录
WorkingDirectory=/www/python/myapp
# 执行命令
ExecStart=/usr/bin/gunicorn apps.wsgi:application -w 4 -b 127.0.0.1:8000

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • windows+apache+mod_python配置django运行环境

    1.创建mysite测试站点:django-admin.py startproject mysite 2.创建测试页:hello.py,内容如下: from django.http import HttpResponse def index(request): return HttpResponse('Hello, Django!') 3.创建mod_py_dj.conf配置文件,内容如下: LoadModule python_module modules/mod_python_so.pyd L

  • Python+Django在windows下的开发环境配置图解

    1         安装配置开发环境 1.1   准备安装 下载以下软件 Eclipse for C/C++ SUN JDK 1.6 不一定要1.6,1.5的也可以 Python3.1  Python2.6.4  Pythone2.5.2 mod_python-3.3.1.win32-py2.5-Apache2.2 MySQL-python-1.2.2.win32-py2.5 pysqlite-2.5.5.win32-py2.5 python.pydev.feature-1.5.0.125198

  • Django+Vue跨域环境配置详解

    概述 在使用Django+Vue开发过程中,遇到了很多开发环境相关的问题,比如跨域,比如ajax请求参数等,本篇文章主要记录解决在开发过程中,遇到的一些问题. 跨域不带Cookie 在使用Vue脚手架开发的过程中,会使用Vue脚手架自带的Server进行项目调试,Vue自带的Server支持 hot reloading ,这个特性是非常好用的.但是在开发过程中,因为要与后端交互,所以在请求后端接口的时候,会遇到跨域问题,这个问题在一些职责划分清楚的团队并不存在,因为前端开发人员会才用Mock数据

  • Django 多环境配置详解

    本文也是开发项目中的一个小经验Tip,虽然很简单,但对很多朋友也有小帮助. 我们实际工程中,可能遇到开发环境.预上线环境.线上环境等环境场景,应用配置因此可能有所不同. 我的经验是利用环境变量来定义应用运行环境,并在代码中做对应的判定. 具体来说,我在settings.py中增加了一些判定代码,大概如下: APP_ENV = os.getenv('APP_ENV') if APP_ENV == 'prod': from ._settings.prod_settings import * elif

  • 微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)

    微信小程序Server环境配置详解 主要内容: 1. SSL免费证书申请步骤 2. Nginx HTTPS 配置 3. TLS 1.2 升级过程 微信小程序要求使用 https 发送请求,那么Web服务器就要配置成支持 https,需要先申请SSL证书 小程序也要求 TLS(传输层安全协议)的版本至少为 1.2,在配置好 https之后,如果 TLS 的版本较低,就涉及到升级问题 所以 Server端环境配置的主要步骤: 申请 SSL 证书 配置web服务器支持https(我使用的是nginx)

  • centos 6.5 oracle开机自启动的环境配置详解

    centos 6.5 oracle开机自启动的环境配置详解 环境:centos 6.5 + Oracle 11g 自启动之前问题 虚拟机里的oracle环境,每次重启完系统,用plsql developer连接,先是报错: 无TNS监听程序 解决方法是切换到系统的oracle用户,执行lsnrctl start,但是执行之前,因为ORACLE_HOME环境变量没有生效,还要是环境变量文件生效,步骤如下: [oracle@localhost ~]$ source .bash_profile [or

  • win10+VS2017+Cuda10.0环境配置详解

    一.安装 1.1硬件支持 首先确定你的电脑显卡是支持Cuda安装的. 右键"我的电脑",然后点击"设备管理器".在显示适配器里可以查看显卡型号. 如果包含在官网列表 中,则可以点击对应的型号到下载界面下载Cuda安装包. 1.2 安装VS2017 官网下载VS2017,并安装. 1.3 安装Cuda 在安装过程中,会自动检测本机是否已经安装了配套的VS版本其中之一,如果VS版本和Cuda版本不匹配的话,安装无法进行. ( 另外,如果电脑安装了360杀毒的话,安装过程

  • openCV4.1.1+VS2019环境配置详解

    1.VS2019安装 官网下载地址https://visualstudio.microsoft.com/zh-hans/?rr=https%3A%2F%2Fwww.microsoft.com%2Fzh-cn%2F 本地下载(附安装教程+激活码):https://www.jb51.net/softs/679895.html 2.openCV4.1.1安装 官网下载地址https://opencv.org/opencv-4-1-1/ 3.环境配置 右键此电脑,点击属性,找到高级系统设置. 点击环境变

  • Android+OpenCV4.2.0环境配置详解(Android studio)

    仅是个人记录,希望能对有需要的给予一些小小的帮助 首先我们肯定是要去到OpenCV的官网下载对应的SDK,并解压得到文件夹(opencv-4.2.0-android-sdk) 其次是NDK环境搭建(双击shift,输入sdk,找到sdk manager,将下面红色框框勾选安装) 创建项目,我选用的是(并不是只有这一选择) 导入Module File->New->Import Module 路径选择**\opencv-4.2.0-android-sdk\OpenCV-android-sdk\sd

  • Mac M1 Java 开发环境配置详解

    JDK 配置 目前 Zulu JDK 支持 M1芯片,下载Zulu JDK 下载后点击安装,在控制台输入java -version ~ % java -version openjdk version "11.0.10" 2021-01-19 LTS OpenJDK Runtime Environment Zulu11.45+27-CA (build 11.0.10+9-LTS) OpenJDK 64-Bit Server VM Zulu11.45+27-CA (build 11.0.1

  • Springboot内外部logback多环境配置详解

    目录 一.概述 二.项目内外配置 三.使用自定义appender 四.logback查找配置源码 五.案例源码 一.概述 SpringBoot官方文档Springboot 默认读取的是项目内的 resources 中 logback 配置文件.如果 classpath(resources) 下有logback-test.xml会优先生效,并且会和其他logback文件同时生效.Springboot 默认日志级别是DEBUG,所以在logback初始化之前,会有DEBUG日志输出. 二.项目内外配

  • SpringBoot-application.yml多环境配置详解

    介绍 开发SpringBoot应用的时候,通常程序需要在测试环境测试成功后才会上线到生产环境.而测试环境和生产环境的数据库地址.服务器端口等配置都不同.在为不同环境打jar包时,需要频繁的修改application.yml配置文件,十分麻烦.可以采用创建多个配置文件的方法解决这一问题. 为了实现多环境配置,我们可以在本地开发的时候在Resource文件夹下新建不同环境的配置文件,如下图所示: 默认配置文件application.yml文件可根据自己需求使用,最后会合并其他的application

随机推荐