Skip to content

woome/django-configdir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A tool for helping with override Django configs.

django_confighelper on its own creates a config for the current django
instance based on the current hostname, the current name of the
effective uid and the current directory in which the django instance
is sitting:

  config/hostname/euidname__dirname.py

If the config already exists django_confighelper exits with a warning.

The 'edit' subcommand attempts to start a system editor on the
config. It first tries the environment variable $EDITOR and then
switches to "editor" from the execution path.

The 'print' subcommand prints the filename of the config file. This is
so you can script further interactions, for example:

    echo "CONFIG_SPECIAL=True" >> $(django_confighelper print)

The 'default' subcommand looks for a default config file in 
config/defaults/$user.py and if it exists, it creates a config using
the values contained there in. It opens the newly created file just
in case you need to change some values - like FRONTEND_PORT e.t.c

The 'printval' subcommand prints the value of a DJANGO config setting
after the config has been applied. For example:

    django_confighelper printval DATABASE_HOST

    prints out the setting of the database host.

The 'updatesettings' subcommand appends the contents of configdir/templates.py
to the end of the settings.py in the current directory. This is required to be
run once (and once only), and simply adds some import statements to handle
the additional import of per-instance settings files.

The 'cat' subcommands outputs the contents of the instance specific config file 
(i.e. config/hostname/euidname__dirname.py)

The 'dir' subcommand outputs the evaluated  values of all settings managed by 
django_confighelper.


confignginx is also included. This is a management command you can use
to generate Nginx configs from your Django app.

   ./manage.py confignginx --port=8100 --domain=www.example.com

will generare an nginx config that will proxy requests to the port but
send all static data to the STATIC_ROOT via the STATIC_URL.

About

Per-user, per-instance configuration overrides for Django.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages