Customization¶
See Settings for the settings that can be used to configure django-wiki. Other ways to customize django-wiki for your use are listed below.
Templates¶
django-wiki can be customized by providing your own templates.
All templates used by django-wiki inherit from wiki/base.html
, which in
turn simply inherits from wiki/base_site.html
(adding
nothing). wiki/base_site.html
provides a complete HTML page, but provides a
number of blocks that you might want to override. The most useful are:
wiki_site_title
wiki_header_branding
wiki_header_navlinks
These can be overridden to provide your own branding and links in the top bar of
the page, as well as in browser window title. The wiki/base_site.html
template uses Bootstrap 3, so the following example shows how to use this in
practice, assuming you want a single link to your home page, and one to the
wiki. Add the following as wiki/base.html
somewhere in your
TEMPLATE_DIRS
:
{% extends "wiki/base_site.html" %}
{% block wiki_site_title %} - Wiki{% endblock %}
{% block wiki_header_branding %}
<a class="navbar-brand" href="/">Your brand</a>
{% endblock %}
{% block wiki_header_navlinks %}
<ul class="nav navbar-nav">
<li class="active"><a href="{% url 'wiki:root' %}">Wiki</a></li>
</ul>
{% endblock %}
Site¶
You can override default django-wiki wiki.sites.site
urls/views site implementation
with your own: override by setting the default_site
attribute
of a custom AppConfig
to the dotted import path of either a WikiSite
subclass
or a callable that returns a site instance.
# myproject/sites.py
from wiki.sites import WikiSite
class MyWikiSite(admin.WikiSite):
...
# myproject/apps.py
from wiki.apps import WikiConfig
class MyWikiConfig(WikiConfig):
default_site = 'myproject.sites.MyWikiSite'
# myproject/settings.py
INSTALLED_APPS = [
...
'myproject.apps.MyWikiConfig', # replaces 'wiki.apps.WikiConfig'
...
]