Skip to main content

django-wakawka is a super simple wiki system written in Python using the Django framework.

Project description


django-wakawka is a super simple wiki system written in Python using the Django framework.

  • Links between Wiki pages are automatically resolved by their CamelCase naming scheme.
  • It automatically keeps track of revision changes of a Page, while providing the ability to revert to earlier states.
  • It also has a quite comprehensive permission integration, taking care of Django’s default create/edit/delete permissions.
  • Wakawaka is an application and indented to be placed in an existing project.

Some screenshots from the Example Project:


  1. Put wakawaka to your INSTALLED_APPS in your within your django project.
  2. Add (r'^wiki/', include('wakawaka.urls')), to your

That’s all. Wakawaka has no other dependencies than Django 1.0 (or Django 1.1, currently known as trunk)

Private wiki: If you want to deploy a private wiki so that every page needs an login simply add this line (r'^wiki/', include('wakawaka.urls.authenticated')), to your instead of the above.


Wakawaka takes care of Django’s permission system. Grant your users always a pair of wikipage and revision permissions either what they should do. (Adding, changing or deleting WikiPages)

Optional Settings:

The name of your first wiki page is defined as WikiIndex. You can change this by adding a setting WAKAWAKA_DEFAULT_INDEX to your Example:


Words that are written in CamelCase (a pair of one upper letter followed by n lower letters) are automatically treated as internal wiki links. You can change this behaviour by adding a setting WAKAWAKA_SLUG_REGEX to your This holds a regular expression of the wiki name format. Default:

WAKAWAKA_SLUG_REGEX = r'((([A-Z]+[a-z]+){2,})(/([A-Z]+[a-z]+){2,})*)'


Wakawaka does not provide the ability to store file attachments to wiki pages. To do so, have a look on the side project django-attachments which provides a unobstrusive way to add attachments to models.

Testing and Development:

The project comes with a (not so) comprehensive test library which can be simply invoked by Tox, which tests the project under all current Python and Djanog versions:

$ pip install tox
$ tox

To run the testsuite manually in your development environment, install the project in a separate virtualenv. I’m using virtualenvwrapper here:

$ mkvirtualenv --python=`which python3` wakawaka-env
$ pip install -e .
$ ./

Example Project:

The application comes with a sample project. This gives you a brief overview about the Wiki features, and can help you with the integration of the application into an existing project. It’s alo used for the test suite:

$ mkvirtualenv --python=`which python3` wakawaka-env
$ pip install -e .
$ ./ migrate
$ ./ createsuperuser
$ ./ runserver

Note is the pendant to a regular file in a Django project..


v1.0 (master):

  • Django 1.10 compatibility and total cleanup.
  • Full Python 3 compatibility.
  • Removed Pinax Group support.
  • Tests.

v0.3: (2009-08-06):

  • If a wikipage was not found, the view now raises a proper Http404 instead of a (silent) HttpResponseNotFound. This gives you the ability to display a proper 404 page.
  • All templates are now translatable using gettext.

v0.2 (2009-07-22):

  • Edit-forms are now replaceable

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-wakawaka-1.0.tar.gz (309.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page