PyCon CZ taking place in Ostrava for its fifth edition.
PyCon CZ website is using Python 3.5/Django for the backend, NodeJS for bundling frontend assets and Postgresql as a database.
Setup dev environment
Run following commands to setup project for local development:
You can either use sqlite database, if you only need to work with static pages and styles, in which case, you don't need to setup anything. Or, if you need to work with dynamic apps, you need to use postgresql.
Create role and db via cli:
# su -c psql postgres postgres=# CREATE ROLE pyconcz LOGIN ENCRYPTED PASSWORD 'your fancy password'; postgres=# CREATE DATABASE "pycon2019" WITH ENCODING='UTF8' OWNER=pyconcz;
You can also use PostgreSQL localy in Docker container:
$ docker run --name pyconcz2019-pg -e POSTGRES_PASSWORD="your fancy password" -e POSTGRES_USER=pyconcz -d -p 5432:5432 postgres
python3 -m venv envnote: Use exactly Python 3.5.2 on Windows (otherwise Pillow won't install with pip) so you might want to
py -3.5 -m venv env
pip install -r requirements-dev.txt
pyconcz/settings/local.pyand don't forget to set DATABASES and SECRET_KEY settings.
You only need this if you work with styles or images.
For styles and images processing to work, you need to have
node.js and gulp-cli installed globally (
sudo npm install gulp-cli -g)
Inside root directory (the same directory where
manage.py is) run
You can run your dev server manually on http://localhost:8000 with:
./manage.py runserver --settings=pyconcz.settings.local
To start development with static files being processed run
gulp. It will also start dev server for you.
Open http://localhost:3838 and you should see development version of website with automatic compiling and reloading.
You can also set your hosts to map 127.0.0.1 to
pycon.test and it will work on http://pycon.test:3838.
/static/img is replaced with
processed content of
So don't edit anything inside
After each production build, you have to commit newly generated CSS and image files. Old files are automatically replaced.
npm run build
git add pyconcz/static
fab production deploy to deploy to production or
fab beta deploy to deploy to beta site.
This work is licensed under a MIT