DjangoCon US 2016 is built on top of Pinax Symposion and PinaxCon. With our changes, your mileage may vary.
As a contributor, you can help us keep the Django community open and inclusive. Please read and follow our Code of Conduct.
Make sure you are using a virtual environment of some sort (e.g. virtualenv
or
pyenv
).
Create a database (defaults to Postgres):
$ createdb djangocon2016
Install requirements:
$ pip install -r requirements.txt
Create a local settings file and set your DJANGO_SETTINGS_MODULE
to use it:
$ cp djangocon/settings/local.py.example djangocon/settings/local.py
$ export DJANGO_SETTINGS_MODULE=djangocon.settings.local
Sync models to database:
$ ./manage.py migrate
Load default fixtures into database:
$ ./manage.py loaddata fixtures/*
Create a superuser account to access the admin:
$ ./manage.py createsuperuser
Start the web server:
$ ./manage.py runserver
Name | Type | Description | Default |
---|---|---|---|
double_blind_reviews |
Flag | Turns on double-blind reviews | True |
homepage_sponsorship_list |
Switch | Turns on the sponsorship list on the homepage | True |
To deploy:
$ ./manage.py flag double_blind_reviews --create --superuser
$ ./manage.py switch homepage_sponsorship_list --create
The static file compilation is done with Node dependencies. On a Mac install node via Homebrew:
$ brew install node
Install all node dev dependencies:
$ npm install
To compile all static files simply run:
$ make all
You can watch for changes of CSS and JS files and have them re-compiled on-the-fly. Run each command in a separate shell.
$ make js watch=1
$ make css watch=1
- All client/browser related files are stored in
client/
. - Static files which don't need processing are in
client/assets
. - CSS and JS are compiled into the
build/
folder using amake
command. - Django's
collectstatic
takes everything from thebuild/
folder plus the "classic" application static files and puts them in<venv>/var/static/
. This is also the folder we serve with the webserver.
For CSS we use a factory of: Node-Sass for CSS compilation + autoprefixer.
For JS we use browserify to collect all dependencies, from client/js
as well
as from the node_modules
into one file. We transform that with Babel from ES6
to ES5 for compatibility reasons. We compress that with uglify.
Thanks goes to these wonderful people (emoji key) (semi-ordered by contribution date):
Emoji | Represents | Links to |
---|---|---|
💻 | Code | https://github.com/${ownerName}/${repoName}/commits?author=${username} |
📖 | Documentation | https://github.com/${ownerName}/${repoName}/commits?author=${username} , Wiki, or other source of documentation |
❓ | Answering Questions (in Issues, Stack Overflow, Gitter, Slack, etc.) | |
🎨 | Design | the logo/iconography/visual design/etc. |
👀 | Reviewed Pull Requests |