django-split-settings

Organize Django settings into multiple files and directories. Easily override and modify settings. Use wildcards and optional settings files.

Github星跟踪图


wemake.services
Build Status
Coverage
Docs
Python Version
wemake-python-styleguide

Organize Django settings into multiple files and directories. Easily
override and modify settings. Use wildcards in settings file paths
and mark settings files as optional.

Read this blog post
for more information.
Also, check this example project.

Requirements

While this package will most likely work with the most versions of django, we officially support:

  • 1.11
  • 2.1
  • 2.2
  • 3.0

This package has no dependencies itself.

In case you need older python / django versions support,
then consider using older versions.

Installation

pip install django-split-settings

Usage

Replace your existing settings.py with a list of components that
make up your Django settings. Preferably create a settings package
that contains all the files.

Here's a minimal example:

from split_settings.tools import optional, include

include(
    'components/base.py',
    'components/database.py',
    optional('local_settings.py')
)

In the example, the files base.py and database.py are included
in that order from the subdirectory called components/.
local_settings.py in the same directory is included if it exists.

Note: The local context is passed on to each file, so each
following file can access and modify the settings declared in the
previous files.

We also made a in-depth tutorial.

Tips and tricks

You can use wildcards in file paths:

include('components/my_app/*.py')

Note that files are included in the order that glob returns them,
probably in the same order as what ls -U would list them. The
files are NOT in alphabetical order.

You can modify common settings in environment settings simply importing them

# local_settings.py
from components.base import INSTALLED_APPS

INSTALLED_APPS += (
  'raven.contrib.django.raven_compat',
)

Do you want to contribute?

Read the CONTRIBUTING.md file.

Version history

See CHANGELOG.md file.

主要指标

概览
名称与所有者wemake-services/django-split-settings
主编程语言Python
编程语言Python (语言数: 1)
平台
许可证BSD 3-Clause "New" or "Revised" License
所有者活动
创建于2013-05-17 06:04:30
推送于2025-05-17 14:58:37
最后一次提交2025-05-17 16:58:37
发布数15
最新版本名称1.3.2 (发布于 2024-07-05 17:29:50)
第一版名称v0.1.2 (发布于 2015-05-05 09:23:30)
用户参与
星数1.2k
关注者数16
派生数69
提交数565
已启用问题?
问题数48
打开的问题数5
拉请求数390
打开的拉请求数2
关闭的拉请求数136
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?