Skip to content
Boye Borg edited this page Jul 30, 2015 · 13 revisions

Welcome to the Dokuspokus wiki!

This meta-wiki is meant as a in-depth documentation of Dokuspokus structure and functionality.

Dokuspokus is written in Python 3 with the web framework Django. If you are unfamiliar with Django and/or Python, please see the Learn Python and Django page.

The project consists of to main apps, page and wiki.

Page

The page app is just a empty shell to wrap around our main app: wiki. The reason for this is so that we can re-use the wiki app in any Django project. This also allows us to, at a later point, to add other apps to the projects. Perhaps make the page-app the main page, and have the wiki as a sub-page of that. But, for now, the page app is just an empty shell where the wiki app is installed.

There are three important files in the page app:

  • settings.py - The main page's setting file
  • urls.py - The accessible URLs (includes the wiki app's URLs)
  • wsgi.py - A file for deploying the page app (used in both local testing and by Apache when deployed)

Wiki

The wiki app is the main app, and where all the juicy stuff is. This is the actual wiki, and holds all of the static content (JavaScript, CSS, HTML, images etc.) and all of the logic used in the wiki.

There are six important files in the wiki app:

  • urls.py - All of the valid URL patterns in the wiki, and their respective functions
  • views.py - All of the view-functions for the different URL patterns
  • models.py - The database models
  • admin.py - Defines the editable models in the admin page
  • search_indexes.py - Defines the searchable part of the models

And three important folders:

  • templates/ - Holds all of the wiki's HTML-templates
  • static/ - Holds all the static content the wiki uses (JavaScript, CSS, images etc.)
  • utils/ - Holds different utilities used in the wiki (e.g.: slugify)
Clone this wiki locally