django-boot-core-starter 0.2.0

Creator: danarutscher

Last updated:

Add to Cart

Description:

djangobootcorestarter 0.2.0

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.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.