-
Notifications
You must be signed in to change notification settings - Fork 169
Development Tips
Richard Ebeling edited this page Jul 24, 2021
·
13 revisions
- run
manage.py runto start the django development server - Before opening a pull request, running these could be helpful (otherwise, our CI will fail)
- run
manage.py testto run the test suite - run
manage.py lintto run the linter - run
manage.py formatto run the code formatter
- run
- run
manage.py migratewhenever you pull changes with new migrations - run
manage.py makemigrationswhenever you change any models - run
manage.py reload_testdatato throw away the database and reload the test_data - run
manage.py scss --watchif you want to compile your stylesheets automatically. (otherwise this happens only once onmanagement.py run) - run
manage.py shell_plusto interactively test python code- in contrast to
shell, this automatically imports e.g. all models.
- in contrast to
- use
manage.py dump_testdatafor creating a new test_data.json
We have a list of commits that clutter git blame history in .git-blame-ignore-revs. You can pass --ignore-revs-file .git-blame-ignore-revs to git in order to ignore these commits. You probably want to set up your git to automatically do this, using:
git config blame.ignoreRevsFile .git-blame-ignore-revsIt probably makes sense to integrate our linter, pylint, and our code formatter, black, into your IDE. You can also set up precommit hooks to automatically run these when committing.
Use poedit to edit the translation files
- If the vagrant VM does not boot, open the virtualbox gui and click on the "Show" button. If you always want this window to open: Search for some commented-out lines in the vagrant file and uncomment them.
- We use pylint, which is quite resource heavy. It might get stuck with the 1GB of RAM the VM allocates by default. You might want to increase this for pylint to run successful in the VM.
There's an apache server installed in the vagrant vm. It is running by default and accessible on the host machinne at http://localhost:8001:
- you have to run
service apache2 reloadwhen python code changes - you have to run
manage.py collectstaticwhen static files change - easiest way to reroute console output to apache error logs: put
sys.stdout = sys.stderrinto manage.py - access logs via:
sudo su -c "less /var/log/apache2/evap_error.log"