Installation

Supported versions

Wafer supports Django 3.2, 4.0-4.2, 5.0 and Python 3.8 to 3.12.

Requirements

In addition to Django, wafer has some requirements on external libraries. They’re listed in setup.py.

Basic Dev install

  1. Install all the dependencies pip install -r requirements.txt

  2. Create the initial database schema manage.py migrate

  3. If you don’t have one yet, create a superuser with manage.py createsuperuser.

  4. Wafer uses npm to manage front-end dependencies

    • Make sure you have a recent version of Node.js installed that includes npm.

    • Run npm install to install all dependencies, which also copies them to wafer/static/vendor.

  5. Wafer uses the Django caching infrastructure in several places, so the cache table needs to be created using manage.py createcachetable.

  6. Create the default ‘Page Editors’, ‘Talk Mentors’, and ‘Talk Reviewers’ groups using manage.py wafer_add_default_groups.

  7. Log in and configure the Site:

    • The domain will be used as the base for emails sent during registration.

    • The name will be the conference’s name.

    • By default, wafer assumes that the site will be accessible over SSL, so the registration emails will use an ‘https’ prefix. If this is not the case, override the wafer/registration/activation_email.txt template.

  8. Ensure the permissions on the MEDIA_ROOT directory are correctly set so the webserver can create new files there. This location is used for files uploaded for pages and sponsor information.

  9. Have a fun conference.

Example setup

For an example of a conference using wafer, see the 2017 PyCon ZA conference repository, available from github