2.5 KiB
Basic commands for web development
After you clone this repository, run make
. It will download, locally install
and setup virtualenv and pip, and then locally install all required packages
from requirements.txt
.
When working with the code, always use the binaries in ./bin/
, such as
bin/pip
, bin/python
, ... never the global python, pip, ...
Use make
and ./manage.py
for most things.
Use git :-)
Quickstart
Run the following commands: make install_venv . env/bin/activate make install_web
Pokud install_web říká Error: pg_config executable not found. nainstaluj si libpq-dev Pokud chybová hláška obsahuje #include <Python.h>, nainstaluj si python3-dev
After finishing development, run "deactivate".
Make commands
-
make install
(ormake
) - locally install and setup virtualpy, install required packages. Ran again installs missing packages. Run after changingrequirements.txt
. -
make clean
- remove local python packages. -
make veryclean
- remove local packages and virtualpy enviroment and binaries. -
make run
- runs "./manage.py runserver_plus" -
make push_test
- pushes the last commited version to test location. Only git-commited changes are pushed! Rest is re-generated from scratch. At test server, the media data and database are kept the same. Everything else not in .gitignore is deleted/overwritten on the test server. -
make schema
- generates graph of seminar and all schemas as PDF. Supercool! -
make sync_prod_flatpages
- downloads and applies static/flat pages from mamweb-prod
./manage.py commands
-
./manage.py migrate
- update the database schema, initialise the database. You need to run this in the beginning. -
./manage.py runserver_plus
- run a debugging server for the web. Slightly enhanced compared to./manage.py runserver
. Open 127.0.0.1:8000. -
./manage.py testdata
- create pseudo-random seminar data and admin/admin user. -
./manage.py test
- run the tests. -
./manage.py shell
- run commands, list elemements of database, check syntax by importing files, etc.
Configurations
mamweb/settings_common.py
contains most configuration options.mamweb/settings.py
is used only for local development.mamweb/settings_test.py
is used for testing on atrey.mamweb/settings_prod.py
is used in production deployment.
These are automatically switched by make
.