Compatibility Matrix:
| Py/Dj | 3.9 | 3.10 | 3.11 | 3.12 | 3.13 | 
|---|---|---|---|---|---|
| 4.2 (LTS) | ✓ | ✓ | ✓ | ✓ | ✓ | 
| 5.0 | ✓ | ✓ | ✓ | ✓ | |
| 5.1 | ✓ | ✓ | ✓ | ✓ | |
| 5.2 (LTS) | ✓ | ✓ | ✓ | ✓ | 
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:
- Put wakawakato your INSTALLED_APPS in your settings.py within your django project.
- Add (r'^wiki/', include('wakawaka.urls')),to your urls.py.
That's all. Wakawaka has no other dependencies than Django 1.11 or later.
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)
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,})*)'
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.
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
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