定制

看到 设置 获取可用于配置django-wiki的设置。下面列出了自定义django-wiki以供您使用的其他方法。

模板

django-wiki可以通过提供您自己的模板进行定制。

django-wiki使用的所有模板继承自 wiki/base.html ,它反过来简单地继承自 wiki/base_site.html (不添加任何内容)。 wiki/base_site.html 提供了完整的HTML页面,但提供了许多您可能想要覆盖的块。最有用的是:

  • wiki_site_title

  • wiki_header_branding

  • wiki_header_navlinks

这些可以被覆盖,以在页面的顶部栏以及浏览器窗口标题中提供您自己的品牌和链接。的 wiki/base_site.html 模板使用Bootstrap 3,因此下面的示例展示了如何在实践中使用它,假设您想要一个指向主页的链接和一个指向维基的链接。添加以下内容作为 wiki/base.html 在你的某个地方 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 %}

网站

你可以覆盖默认的django-wiki wiki.sites.site 网址/查看您自己的网站实现:通过设置 default_site 习俗属性 AppConfig 到任何一个的虚线导入路径 WikiSite 子类或返回站点实例的可调用对象。

# 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'
    ...
]