Django Boot Core Starter
Project description
Django Boot Core - Starter
Core starter library for Django Boot.
This library will initialize Rhazes ApplicationContext
by default and registers some beans on it.
Usage
First, add Django Boot Starter to INSTALLED_APPS
:
INSTALLED_APPS = [
...,
"django_boot_core",
]
Then assure you have these two settings in your settings.py
:
DJANGO_BOOT = {
"DI_PACKAGES": [], # packages containing beans which you want to be scanned in your project
"DI_SCAN_STARTERS": False,
"APPLICATION_CONFIGURATION": {
... # Configuration for ApplicationConfiguration. Read below
}
}
Application Configuration Parser
Main benefit of using this library is that you will have ApplicationConfiguration
bean registered for you.
This bean allows you to use configuration files for different services (beans) in your project easily.
django_boot_core.services.ApplicationConfiguration
is an autoconfigured extension on top of parse_it library.
To configure ApplicationConfiguration
(and ParseIt
class) try changing these values in the settings.
# settings.py
DJANGO_BOOT = {
"APPLICATION_CONFIGURATION": {
# Read what blow items do in `parse_it` documentation.
"LOCATION": os.path.join(BASE_DIR, "application_config"), # Optional, Location to read configuration files from
"CONFIG_TYPE_PRIORITY": ..., # optional
"GLOBAL_DEFAULT_VALUE": ..., # optional
"TYPE_ESTIMATE": ..., # optional
"RECURSE": ..., # optional
"FORCE_ENVVARS_UPPERCASE": ..., # optional
"ENVVAR_PREFIX": ..., # optional
"SUFFIX_MAPPING": ..., # optional
"ENVVAR_DIVIDER": ..., # optional
"NONE_VALUES": ..., # optional
}
}
Default configuration location (directory) (in case BASE_DIR
is set in settings.py
) would be {BASE_DIR}/application_config
.
Write your own starter apps
You can make Django Boot scan your apps by default without having to add anything specific in settings DI_PACKAGES
by ending your app names in _starter
.
To enable this feature you need to specify DJANGO_BOOT["DI_SCAN_STARTERS"] = True
in settings.
DJANGO_BOOT = {
"DI_SCAN_STARTERS": True,
# other configurations here
}
Example: you have an app called polls
and it requires some beans to be registered into ApplicationContext
. You can rename the app to polls_starter
instead and this library will automatically pick it to scan.
Alternatively (perhaps for performance reasons as well) you can skip this and just let other developers know that which packages then need to add to settings DI_PACKAGES
after they install your app.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for django-boot-core-starter-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 228bea8e56e71910cfaca600ed68ef6868254cf8a94c41c3d6c786ec3206c149 |
|
MD5 | 62a1155f6aa6f6e479e29e99697bf444 |
|
BLAKE2b-256 | 20e3dd97bc959d5b859dc73099f562b082e285a6320ea53f6efe4d7fc344d944 |