![]() Jo, určitě to to znamená… Anyway, je to při troše štěstí elementární ukázka, jak se píše a používá middleware. Ne že by na tom bylo něco objevného… TODO: Aktuálně se nejde odhlásit, takže má člověk smůlu. Asi bych to neměl považovat za featuru, ale aktuálně si tím nejsem moc jistý. Pokud se to nenasadí na produkci, tak to nikomu vadit asi nebude… |
||
---|---|---|
_git_hooks | ||
aesop | ||
api | ||
data | ||
deploy_v2 | ||
fanik | ||
galerie | ||
header_fotky | ||
ilustrace_odmeny | ||
korektury | ||
mamweb | ||
prednasky | ||
seminar | ||
various | ||
vue_frontend | ||
.gitignore | ||
checklinks.sh | ||
constraints.txt | ||
convert_spaces_to_tabs.sh | ||
diff_db_backup.sh | ||
fix_json.py | ||
Makefile | ||
mamweb_prod.ini | ||
mamweb_test.ini | ||
manage.py | ||
README.md | ||
requirements.txt |
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
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
.