安装

django-wiki是Django的应用程序。这意味着您需要设置一个基本的Django项目才能使用django-wiki。

参见

了解有关在中建立第一个Django项目的更多信息 official Django tutorial .

先决条件:Pillow

对于图像处理,django-wiki使用 Pillow library (PIL的复刻)。首选的方法应该是获取Pillow的系统范围的预编译版本,例如通过从Linux发行版repos获取二进制文件。

Debian/Ubuntu

您需要获取Pip编译所需的开发库::

sudo apt-get install libjpeg8 libjpeg-dev libpng12-0 libpng12-dev

之后,安装 sudo pip install Pillow .您最好在系统范围内安装Pillow,因为对于Pillow,Django应用程序中几乎没有特定版本的依赖关系,并且在这种情况下多次安装同一个包是一种不好的做法。

Mac OS X 10.5+

Ethan Tira-Thompson 已经为OS X创建了端口,并将其作为.dmg安装程序提供。下载并安装通用组合包 here .

安装包后,您可以继续进行pip安装。PIL将自动拾取这些库并将其编译以供Django使用。

安装

要安装最新的稳定版本::

pip install wiki

安装最新的预发行版(alpha,beta或rc)::

pip install --pre wiki

升级

总是阅读 发行说明 有关升级的说明。

配置

配置 settings.INSTALLED_APPS

应列出以下应用程序-注意!由于数据库关系限制,维护顺序非常重要:

'django.contrib.sites.apps.SitesConfig',
'django.contrib.humanize.apps.HumanizeConfig',
'django_nyt.apps.DjangoNytConfig',
'mptt',
'sekizai',
'sorl.thumbnail',
'wiki.apps.WikiConfig',
'wiki.plugins.attachments.apps.AttachmentsConfig',
'wiki.plugins.notifications.apps.NotificationsConfig',
'wiki.plugins.images.apps.ImagesConfig',
'wiki.plugins.macros.apps.MacrosConfig',

配置 context_processors

django-wiki 使用 Django Templates backend. Add 'sekizai.context_processors.sekizai' and 'django.template.context_processors.debug' to context_processors section of your template backend settings. Please refer to the Django templates docs 查看此变量的当前默认设置。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'APP_DIRS': True,
        # ...
        'OPTIONS': {
            'context_processors': [
                'django.contrib.auth.context_processors.auth',
                'django.template.context_processors.debug',
                'django.template.context_processors.i18n',
                'django.template.context_processors.media',
                'django.template.context_processors.request',
                'django.template.context_processors.static',
                'django.template.context_processors.tz',
                'django.contrib.messages.context_processors.messages',
                "sekizai.context_processors.sekizai",
            ],
        },
    },
]

数据库

要同步和创建表,请执行以下操作:

python manage.py migrate

设置 SITE_ID

如果您正在使用新的Django安装,您需要设置SITE_ID

SITE_ID = 1

用户帐户处理

包含有限的帐户处理以允许用户注册。其设置及其默认值如下所示。要完全关闭帐户处理,请设置 WIKI_ACCOUNT_HANDLING = False .

WIKI_ACCOUNT_HANDLING = True
WIKI_ACCOUNT_SIGNUP_ALLOWED = True

用户登录后,他们将被重定向到 LOGIN_REDIRECT_URL ,您可以在项目的settings.py中配置它以指向根文章:

from django.urls import reverse_lazy
LOGIN_REDIRECT_URL = reverse_lazy('wiki:get', kwargs={'path': ''})

包括网址模式

要将维基集成到您现有的应用程序中,您应该确保以下行包含在您的项目中 urls.py .

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('notifications/', include('django_nyt.urls')),
    path('', include('wiki.urls'))
]

上面的行将维基放入 / 因此,将其放在urlcon的末尾非常重要。你也可以放进去 /wiki 通过直接的社会 '^wiki/' 作为模式。

备注

If you are running manage.py runserver, you need to have static files and media files from STATIC_ROOT and MEDIA_ROOT served by the development server. STATIC_ROOT is automatically served, but you have to add MEDIA_ROOT manually:

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

请参阅 the Django docs .