Django 开发环境与生产环境的区分详解

 更新时间:2019年07月26日 08:30:55   作者:EveryDay  
这篇文章主要介绍了Django 开发环境与生产环境的区分详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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.py
import os

# Default settings between dev and prd

if os.environ.get('ENV', None):
  from .prd_settings import *
else:
  from .dev_settings import *

因为服务器使用的是CentOS7,我们直接在/etc/profile中增加环境变量

export ENV="SERVER"

从运行时中导入不同的配置

manage.py在运行时还提供了–settings选项用于指定settings模块,因此用于启动django自带的debug服务器还是挺方便的。

python manage.py rumserver 0.0.0.0:8000 --settings=EveryDay.prd_settings

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

相关文章

  • python中的__slots__使用示例

    python中的__slots__使用示例

    这篇文章主要介绍了python中的__slots__使用示例,__slots__用来限制class能添加的属性,需要的朋友可以参考下
    2015-02-02
  • 使用jupyter Nodebook查看函数或方法的参数以及使用情况

    使用jupyter Nodebook查看函数或方法的参数以及使用情况

    这篇文章主要介绍了使用jupyter Nodebook查看函数或方法的参数以及使用情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • 浅谈Python中的私有变量

    浅谈Python中的私有变量

    本篇文章给大家讲述了Python中的私有变量相关的知识点内容,学习后大家会对私有变量有更系统的了解。
    2018-02-02
  • Python如何将大TXT文件分割成4KB小文件

    Python如何将大TXT文件分割成4KB小文件

    处理大文本文件是程序员经常遇到的挑战,特别是当我们需要把一个几百MB甚至几个GB的TXT文件分割成小块时,下面我们来聊聊如何用Python自动完成这个任务吧
    2025-04-04
  • python中turtle库的简单使用教程

    python中turtle库的简单使用教程

    这篇文章主要给大家介绍了关于python中turtle库的简单使用教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Python与C语言分别解决完全平方数问题

    Python与C语言分别解决完全平方数问题

    完全平方数指用一个整数乘以自己例如1*1.2*2.3*3等依次类推,若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数。完全平方数是非负数,而一个完全平方数的项有俩个,让我们用程序来练习一下
    2022-03-03
  • Django搭建项目实战与避坑细节详解

    Django搭建项目实战与避坑细节详解

    这篇文章主要给大家介绍了关于Django搭建项目实战与避坑细节的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Matplotlib学习笔记之plt.xticks()用法

    Matplotlib学习笔记之plt.xticks()用法

    在matplotlib中ticks表示的是刻度,而刻度有两层意思,一个是刻标(locs),一个是刻度标签(tick labels),下面这篇文章主要给大家介绍了关于Matplotlib学习笔记之plt.xticks()用法的相关资料,需要的朋友可以参考下
    2022-09-09
  • python制作罗盘时钟效果

    python制作罗盘时钟效果

    这篇文章主要介绍了python制作罗盘时钟效果,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-04-04
  • Python接口自动化浅析登录接口测试实战

    Python接口自动化浅析登录接口测试实战

    本文主要接好了python接口自动化的接口概念、接口用例设计及登录,跟随本文章来进行一个接口用例设计及登录接口测试实战,有需要的朋友可以参考下
    2021-08-08

最新评论