Django 项目配置拆分独立的实现

目录
  • 一、创建配置目录
  • 二、创建基础配置文件
  • 三、创建各个环境的配置
  • 四、调整settings.py
  • 五、程序使用
  • 六、目录结构

Django 项目中,我们默认的配置是都在 settings.py 文件里面的,但是实际本地调试和线上应该是需要两个环境的,我们现在来拆分下配置。将配置拆分开来。

一、创建配置目录

我们在项目的跟路径下创建一个config 目录

二、创建基础配置文件

在config 配置下 创建 base.py 文件,然后将原来 settings.py 文件内容拷贝过来。

三、创建各个环境的配置

注意我是把一些配置提取出来了,如果我们在 环境配置中加了的配置,在 base 中就不需要加了

创建 dev.py

from .base import * # 注意这个必须加,这个是将base 的配置导入

DEBUG = True
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': "ops",
        "HOST": "127.0.0.1",
        "PORT": 3306,
        "USER": "root",
        "PASSWORD": "",
    },
}
ALIYUN_SECRETID = '123'

创建 prod.py

from .base import * # 注意这个必须加,这个是将base 的配置导入
DEBUG = False
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': "ops",
        "HOST": "127.0.0.1",
        "PORT": 3306,
        "USER": "ops",
        "PASSWORD": "",
    },
}
ALIYUN_SECRETID = '123'

四、调整settings.py

将settings.py 原有的配置替换成下面的内容。

DJANGO_CONF_MODULE = 'config.{env}'.format(env='dev')

try:
    _module = __import__(DJANGO_CONF_MODULE, globals(), locals(), ['*'])
except ImportError as e:
    raise ImportError("Could not import config '%s' (Is it on sys.path?): %s"
                      % (DJANGO_CONF_MODULE, e))

for _setting in dir(_module):
    if _setting == _setting.upper():
        locals()[_setting] = getattr(_module, _setting)

上面配置是默认使用 dev 的配置。 假设我们要使用prod 的配置,就将 dev 替换成 prod

五、程序使用

from django.conf import settings
settings.ALIYUN_SECRETID # 引用

六、目录结构

到此这篇关于Django 项目配置拆分独立的实现的文章就介绍到这了,更多相关Django 项目配置拆分独立 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Django2.2配置xadmin的实现

    一.环境版本 Django-2.2 python-3.6 PyCharm-2018.3 二.下载xadmin 不推荐使用pip install xadmin直接安装,否则会出现很多版本错误,推荐直接登录github,切换django2的分支直接下载 https://github.com/sshwsfc/xadmin/tree/django2 三.Django配置 1.在项目目录下新建文件夹extra_apps,并右键--Mark Directory as--Sources Root,设置为项目资

  • Django项目如何正确配置日志(logging)

    当Django项目正式部署上线后,我们需要设置DEBUG = False.这时开发者应怎样检查Django程序在生产环境运行时有什么异常或错误呢?答案就是日志(logging).在生产环境中,Django默认是不会在服务器上自动生成log文件的,即使程序出现error级别的故障也不会通知管理员.本文将教你如何在Django项目中正确配置日志(logging),让Django生成log日志文件,并在程序运行发生error级别故障时通知管理员. 日志基础知识 日志与我们的软件程序密不可分.它记录了程

  • Django配置跨域并开发测试接口

    1.跨域原理 1. 首先浏览器安全策略限制js ajax跨域访问服务器 2. 如果服务器返回的头部信息中有当前域: // 允许 http://localhost:8080 这个网站打开的页面中的js访问我 Access-Control-Allow-Origin: http://localhost:8080 // 允许携带cookie访问我 Access-Control-Allow-Credentials: true 那么, 浏览器可以让js 请求该服务器 2.django cors设置: 1.

  • Python Django路径配置实现过程解析

    假设访问的views.py如下 1.使用url配置默认页 from django.conf.urls import url from django.contrib import admin from django.urls import path from HelloWorld import views urlpatterns = [ path('admin/', admin.site.urls), url('^$', views.hello), ] 这样可以访问http://127.0.0.1

  • Django项目实战之配置文件详解

    创建项目 django-admin startproject meiduo_mall 添加工程完整结构包 启动前端 python -m http.server 8080 配置假域名 将hosts文件复制到桌面添加127.0.0.1 www.meiduo.site 替换掉之前的hosts文件 如果访问django项目 不要忘记添加allower_hosts mysql数据库配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mys

  • django 认证类配置实现

    目录 一.配置认证类 1.认证全局配置文件 2.局部使用 3.匿名用户配置: 二.内置认证类 1.BaseAuthentication 2.其他认证类 三.总结 1.自定义认证类: 2.认证配置: 3.源码流程: 一.配置认证类 1.认证全局配置文件 经过认证的源码流程剖析,DRF的认证全局配置在api_setting中,以下是api_setings部分源码: api_settings = APISettings(None, DEFAULTS, IMPORT_STRINGS) def reloa

  • 详解Pycharm安装及Django安装配置指南

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于Python实用宝典 ,作者Python实用宝典 Pycharm拥有强大的配置工具.Git版本管理工具.代码补全工具.Debug工具等等,这些都是进行大型项目开发的利器. 尤其是今天的主角Django,由于太过于重要了,Pycharm甚至专门给其提供了配置模板: 能直接在新建项目的时候选择Django并新建一个独立的虚拟环境: 从新建到编码测试,一套流程用起来都极

  • Django 项目配置拆分独立的实现

    目录 一.创建配置目录 二.创建基础配置文件 三.创建各个环境的配置 四.调整settings.py 五.程序使用 六.目录结构 Django 项目中,我们默认的配置是都在 settings.py 文件里面的,但是实际本地调试和线上应该是需要两个环境的,我们现在来拆分下配置.将配置拆分开来. 一.创建配置目录 我们在项目的跟路径下创建一个config 目录 二.创建基础配置文件 在config 配置下 创建 base.py 文件,然后将原来 settings.py 文件内容拷贝过来. 三.创建各

  • Django项目配置连接多个数据库的方法记录

    一个APP对应一个默认数据库,若连接其他数据库用".using()" Author.objects.using('db02').all() 1.在项目settings中增加数据库配置 # settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.oracle', 'NAME': 'orcl19c', 'USER': "username01", 'PASSWORD': "pass

  • Django项目如何配置Memcached和Redis缓存?选择哪个更有优势?

    对于中大型网站而言,使用缓存减少对数据库的访问次数是提升网站性能的关键手段之一.在Django项目生产环境中最常用的缓存后台是Memcached和Redis.今天小编就手把手教你如何在Django项目中配置Memcached和Redis作为缓存后台.那么它们两个到底哪个更好呢? 本文会对比这两个存储系统并在文末给出答案. Memcache缓存 Memcache是一个高性能的分布式内存对象缓存系统,是Django原生支持的最快最有效的缓存系统.Memcached的优点是速度快,属于分布式缓存,支持

  • 使用PyCharm创建Django项目及基本配置详解

    pycharm是个很不错的python开发工具,大大缩短了python项目的创建时间以及调试时间 在使用python写脚本一段时间后,想尝试使用Django来编写一个python项目,现做以下记录备忘: 1.创建项目 如果本地没有安装与所选python版本对应Django版本,pycharm会自动下载相应的版本: 创建后运行项目,默认页面为http://127.0.0.1:8000/,打开后: 出现上面的页面,则正面项目创建成功 目录结构: 2.创建APP 在Django项目中可以包含多个APP

  • django搭建项目配置环境和创建表过程详解

    1. 搭建项目配置环境和创建表 创建一个ttsx的项目 django-admin startproject ttsx 在ttsx下的__init__中导入mysql import pymysql pymysql.install_as_MySQLdb() 配置mysql 读写分离配置 # default:默认的配置的是主数据库 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': 'localhost', 'PORT': 3306,

  • Django项目中包含多个应用时对url的配置方法

    一个Django工程中多数情况下会存在多个应用, 如何针对多个应用的url进行配置呢, 有以下两种方案: 1.在Django工程的urls.py中针对每个应用分别配置不同的url路径 2.在工程总体的urls.py中引入每个应用的url配置文件,不同的url路径在各自的配置文件中分别配置 我们首推第二种url的配制方法: 在Django工程的urls.py文件中,引入'blog'应用的url配置文件 在blog自己的urls.py中,引入该views 之后,在工程路径下打开命令窗口,输入pyty

  • Django项目基础配置和基本使用过程解析

    这篇文章主要介绍了Django项目基础配置和基本使用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在需要的目录下创建Django项目输入命令:django-admin startproject 项目名称 创建完成后在pycharm下Terminal中输入命令:Python manege.py startapp app名称 (新建Django的APP项目) 一.Django的相关配置 Django项目 setting 配置: 1.tem

  • Django项目如何获得SSL证书与配置HTTPS

    为什么你的网站需要支持HTTPS协议? 简而言之:HTTPS = HTTP + SSL = 更安全的数据传输 HTTP协议简称超文本传输协议,它广泛用于在Web浏览器和网站服务器之间传递信息.HTTP协议的缺点是它以明文方式发送内容(包括用户密码),不提供任何方式的数据加密.如果攻击者截取了Web浏览器和网站服务器之间的传输文本,就可以直接读取其中的信息. 为了解决这个隐患和保证数据的传输安全,HTTPS协议(安全套接字层超文本传输协议)诞生了.它在HTTP的基础上加入了SSL协议,SSL依靠证

  • Linux下将Python的Django项目部署到Apache服务器

    这几天花了点时间,将把django开发好的web项目部署到Apache上,参考了官方的一些文档和互联网上的文档,还是花了比较多的时间,这里把配置的过程说一下. 方便有需要的朋友,可以参考,少走弯路! 1. django项目部署环境说明 操作系统 : Red Hat Enterprise Linux Server release 5.3 (Tikanga) x86_64 apache版本 : httpd-2.2.3-22.el5 mod_wsgi版本 : mod_wsgi-3.2-1.el5 fe

随机推荐