Addon configuration specification¶
django-app-enabler
support can be enabled by adding a addon.json to any django application
(see below for the structure).
See Limitations for limitations and caveats.
addon.json¶
addon.json
is the only configuration file needed to support django-app-enabler
and it must provide at least
the minimal setup to make the application up an running on a clean django project.
Warning
The file must be included in root of the first (alphabetically) module of your application package. See Packaging for details.
Extra configuration files specifications¶
Extra configuration files (applied via Apply configurations) must conform to the same specifications below with two exceptions:
all attributes are optional (i.e.: they can be completely omitted)
the json file can contain a single object like for the
addon.json
case, or a list of objects conforming to the specifications.
Attributes¶
The following attributes are currently supported:
package-name
[required]: package name as available on PyPi;installed-apps
[required]: list of django applications to be appended in the projectINSTALLED_APPS
setting. Application must be already installed when the configuration is processed, thus they must declared as package dependencies (or depedencies of direct dependencies, even if this is a bit risky);urls
[optional]: list of urlconfs to be added to the projectROOT_URLCONF
. List can be empty if no url configuration is needed or it can be omitted.Each entry in the list must be in the
[<patten>,<include-dotted-path>]
format:<pattern>
must be aDjango path()
pattern string, it can be empty (to add the urlconf to the root)<include-dotted-path>
must be a valid input forDjango include() function
;
settings
[optional]: A dictionary of custom settings that will be added to project settings verbatim;message
[optional]: A text message output after succesfull completion of the configuration;
Sample file¶
{
"package-name": "djangocms-blog",
"installed-apps": [
"filer",
"easy_thumbnails",
"aldryn_apphooks_config",
"parler",
"taggit",
"taggit_autosuggest",
"meta",
"djangocms_blog",
"sortedm2m"
],
"settings": {
"META_SITE_PROTOCOL": "https",
"META_USE_SITES": true
},
"urls": [
["", "djangocms_blog.taggit_urls"]
],
"message": "Please check documentation to complete the setup"
}
Packaging¶
TBA