foerderbarometer | ||
input | ||
.gitignore | ||
LICENSE | ||
manage.py | ||
README.md |
foerderbarometer
purpose: gather data from intern(WMDE) and extern(volunteers) forms to create a database ('förderdatenbank') and send emails with links for a questionary.
installation and development setup
ln -sr foerderbarometer/settings_development.py foerderbarometer/settings.py
build the database with
python3 manage.py migrate
create superuser account with
python3 manage.py createsuperuser
run the development server with
python3 manage.py runserver
you can run some very basic tests with
python3 manage.py test
access via
http://localhost/ http://localhost/intern/ (login required) http://localhost/admin/ (login reqiured)
additional admin functionality
The admin page is the standard admin page delivered by django but with two additional functionalities:
-
There is a new action "export to csv" with which you can export all Selected entries to a csv file
-
There is a new button in the bottom of every Project to "save as new"
versions used in development
python 3.8.2
django 3.1.1
django-formtools 2.2
whitenoise 5.2.0
gunicorn 20.0.4
testing
run some tests with
python3 manage.py test
production setup
ln -sr foerderbarometer/settings_production.py foerderbarometer/settings.py
edit /secrets.json to contain something similar to
{
"DATABASE_PASSWORD": "THIS IS TOP SECRET!",
"SECRET_KEY": "THIS IS ANOTHER SECRET!"
}
edit foerderbarometer/settings_production.py according to your database setup (tested with MariaDB 10.0.36)
run the following commands:
python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py collectstatic
add to cron at least one time a day:
python3 manage.py sendmails
server starts with
nohup gunicorn --forwarded-allow-ips="*" -b '0:8000' foerderbarometer.wsgi 2&> logfile &
Should be executed at least daily e.g. in crontab
python3 manage.py sendmails