Skip to main content

A simple Django based wiki system.

Project description

Compatibility Matrix:

Py/Dj 3.9 3.10 3.11 3.12 3.13 3.14
4.2 (LTS)
5.0
5.1
5.2 (LTS)

django-wakawaka

django-wakawaka 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:

Installation:

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

That's all. Wakawaka has no other dependencies than Django 3.2 or later.

Configuration:

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 settings.py. Example:

WAKAWAKA_DEFAULT_INDEX = 'Home'

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 settings.py. 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,})*)'

Attachments:

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 test library which can be simply invoked by Tox, which tests the project under all current Python and Django versions:

$ pip install tox
$ tox

To run the testsuite manually in your development environment, install the project using Poetry:

$ poetry install
$ pipenv run pytest

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:

$ poetry install
$ poetry run ./manage.py migrate
$ poetry run ./manage.py createsuperuser
$ poetry run ./manage.py runserver

Changelog:

v1.7 (2026-02-07)

  • Added support for Python 3.14.
  • Added support for Django 5.2.
  • Updated ruff config for ruff 0.15.

v1.6 (2024-11-19)

  • Added support for Python 3.13.
  • Added support for Django 5.1.
  • Drop support for Django <= 4.1.
  • Drop support for Python 3.8.

v1.5 (2024-07-10):

  • Switch from pipenv to a Poetry build system
  • The IP Address field is now optional

v1.4 (2023-12-15):

  • Added support for Django 5.0.
  • Added support for Python 3.12
  • Type Annotations

v1.3 (2022-04-30):

  • Added support for Django 3.2 to 4.2.
  • Added support for Python 3.8 to 3.11.

v1.2 (2020-01-08):

  • Dropped support for Python 2.7.
  • Added support for Python 3.8.
  • Added support for Django 2.2 and 3.0.

v1.1 (2019-01-21):

  • Django 2.1 compatibility and and further cleanup.
  • Dropped support for Django <v1.11.
  • Dropped "authenticated" url patterns which were not functional since a while.

v1.0 (2016-11-26):

  • 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.

Source Distribution

django_wakawaka-1.7.tar.gz (24.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_wakawaka-1.7-py3-none-any.whl (37.0 kB view details)

Uploaded Python 3

File details

Details for the file django_wakawaka-1.7.tar.gz.

File metadata

  • Download URL: django_wakawaka-1.7.tar.gz
  • Upload date:
  • Size: 24.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.14.3 Darwin/25.2.0

File hashes

Hashes for django_wakawaka-1.7.tar.gz
Algorithm Hash digest
SHA256 b3832713716f8d48717c5127beca2c5afe054094fdf9db8fe6c8b0ef85928ec3
MD5 7afc9f249fe9c9624a6bd7553eb49044
BLAKE2b-256 bee4c55071437060fa19b20f66fe47a0c9a083817350795ea3a7e1c126dd3b4d

See more details on using hashes here.

File details

Details for the file django_wakawaka-1.7-py3-none-any.whl.

File metadata

  • Download URL: django_wakawaka-1.7-py3-none-any.whl
  • Upload date:
  • Size: 37.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.14.3 Darwin/25.2.0

File hashes

Hashes for django_wakawaka-1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b06d0d71725d8f990852db257417e6aa200935e91019a27277956a36ed9ab36c
MD5 768310369b3edc3df999f74c67c65f2a
BLAKE2b-256 c2a9d76996fa7c54e1e03b46a80a835f36093817f21397f47a1c73679cc10b5e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page