This Django project provides a generic datastore, intended to store data from web experiments.
Against Django standard practice we use translation keys to provide translations, instead of wrapping text in one language in gettext calls. While this adds the need for translation files for every supported language, it fastly reduces whitespace weirdness and other issues with the standard approach.
Keys are formatted in a standard way:
{django_app}:{location}:{item}(:{optional_extra})*
:help_text
For production/acceptation deployment, please see our Puppet module. (Hosted on our private GitLab server).
Development instructions:
pip install -r requirements.txt
python manage.py migrate
python manage.py migrate --database auditlog
ppn_backend/settings.py
to suit your needs.python manage.py createsuperuser
python manage.py compilemessages
python manage.py runserver
We use pip-tools to manage our dependencies (mostly to freeze the versions used). It's listed as a dependency, so it will be installed automatically.
requirements.in
lists the actual dependency and their version constraints.
To update requirements.txt
, edit requirements.in
and run
pip-compile -U
. Don't forget to test with the new versions!