Install PostgreSQL for your OS.
Create a virtual environment with Python 3.6+.
Run the following to install requirements for the project.
pip install -r requirements.txt
Set up database
Create a local database with default settings. Update settings file with database credentials if needed.
Flatpages and email templates are stored in the fixtures folder. Load these:
python manage.py loaddata fixtures/*.json
Send mail (optional)
Postoffice is the mail backend in this project. All emails are queued and not sent until you run this command:
python manage.py send_queued_mail
The following environment variables must be set and you must be on eduroam or use VPN to NTNU.
Re-create email templates
Email templates are twofold: A HTML template and a simple text template with no styling. These must be loaded into the database before use. This is done by running:
python manage.py import_emails
This requires MJML to be installed.
Export models to json
python manage.py dumpdata --natural-foreign --exclude contenttypes app.model app2.model > my_dump.json
.env file to suit your needs
docker-compose up -d --build
git stash && git pull --rebase && git pop && docker-compose restart
Run this in the terminal
export DOCKER_BUILDKIT=1 export COMPOSE_DOCKER_CLI_BUILD=1
Add packages to requirements
We use pip-tools to make our requirement files easy to understand. To
add a new package to the project you need to update the
file with the package and then run the line below to update the
requirements.txt that is used when setting up the project.
pip-compile requirements.in > requirements.txt
Likewise with any additional production requirements.