a184871bf9
Uvědomil jsem si, že aktuálně nejde skoro vůbec poznat, jestli make skript uspěl nebo ne. Tohle by se mělo vypsat, když se nepovede. Víc by se mi líbilo, kdyby úspěšné doběhnutí ohlásilo "OK", ale to neumím udělat bez nějakého zápatí skriptů. (Resp. uměl bych: make/lib může být interpretr, který na začátku zinicalizuje proměnné, pak natáhne příslušný skript a na konci ohlásí OK. Ale přijde mi to trochu moc magické, takže pokud někdo nebude nějak extra pro, tak to tak neudělám :-)) |
||
---|---|---|
_git_hooks | ||
aesop | ||
api | ||
data | ||
deploy_v2 | ||
docs | ||
galerie | ||
header_fotky | ||
ilustrace_odmeny | ||
korektury | ||
make | ||
mamweb | ||
odevzdavatko | ||
personalni | ||
prednasky | ||
seminar | ||
setup | ||
soustredeni | ||
treenode | ||
various | ||
vue_frontend | ||
vysledkovky | ||
.gitignore | ||
checklinks.sh | ||
constraints.txt | ||
convert_spaces_to_tabs.sh | ||
diff_db_backup.sh | ||
fix_json.py | ||
Makefile | ||
manage.py | ||
README.md | ||
requirements.txt |
TODO: přepsat, tohle dávno neplatí!
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
.