197 lines
5.8 KiB
ReStructuredText
197 lines
5.8 KiB
ReStructuredText
Installation
|
|
============
|
|
|
|
django-wiki is an application for Django.
|
|
This means that you need to setup a basic Django project in order to use django-wiki.
|
|
|
|
.. seealso::
|
|
|
|
Read more about setting up your first Django project in the
|
|
`official Django tutorial <https://docs.djangoproject.com/en/stable/intro/tutorial01/>`__.
|
|
|
|
Pre-requisite: Pillow
|
|
---------------------
|
|
|
|
For image processing, django-wiki uses the `Pillow
|
|
library <https://github.com/python-pillow/Pillow>`_ (a fork of PIL).
|
|
The preferred method should be to get a system-wide, pre-compiled
|
|
version of Pillow, for instance by getting the binaries from your Linux
|
|
distribution repos.
|
|
|
|
Debian/Ubuntu
|
|
~~~~~~~~~~~~~
|
|
|
|
You need to get development libraries which Pip needs for compiling::
|
|
|
|
sudo apt-get install libjpeg8 libjpeg-dev libpng12-0 libpng12-dev
|
|
|
|
|
|
After that, install with ``sudo pip install Pillow``. You might as well
|
|
install Pillow system-wide, because there are little version-specific
|
|
dependencies in Django applications when it comes to Pillow, and having
|
|
multiple installations of the very same package is a bad practice in
|
|
this case.
|
|
|
|
Mac OS X 10.5+
|
|
~~~~~~~~~~~~~~
|
|
|
|
`Ethan
|
|
Tira-Thompson <http://ethan.tira-thompson.com/Mac_OS_X_Ports.html>`_ has
|
|
created ports for OS X and made them available as a .dmg installer.
|
|
Download and install the universal combo package
|
|
`here <http://ethan.tira-thompson.com/Mac_OS_X_Ports_files/libjpeg-libpng%20%28universal%29.dmg>`_.
|
|
|
|
Once you have the packages installed, you can proceed to the pip
|
|
installation. PIL will automatically pick up these libraries and compile
|
|
them for django use.
|
|
|
|
Installing
|
|
----------
|
|
|
|
To install the latest stable release::
|
|
|
|
pip install wiki
|
|
|
|
Install the latest pre-release (alpha, beta or rc)::
|
|
|
|
pip install --pre wiki
|
|
|
|
Upgrading
|
|
---------
|
|
|
|
Always read the :doc:`release_notes` for instructions on upgrading.
|
|
|
|
Configuration
|
|
-------------
|
|
|
|
Configure ``settings.INSTALLED_APPS``
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
The following applications should be listed - NB! it's important to
|
|
maintain the order due to database relational constraints:
|
|
|
|
.. code-block:: python
|
|
|
|
'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',
|
|
|
|
|
|
Configure ``context_processors``
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
``django-wiki`` uses the `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 <https://docs.djangoproject.com/en/stable/topics/templates/#django.template.backends.django.DjangoTemplates/>`_
|
|
to see the current default setting for this variable.
|
|
|
|
.. code-block:: python
|
|
|
|
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",
|
|
],
|
|
},
|
|
},
|
|
]
|
|
|
|
Database
|
|
~~~~~~~~
|
|
|
|
To sync and create tables, do:
|
|
|
|
::
|
|
|
|
python manage.py migrate
|
|
|
|
|
|
|
|
Set ``SITE_ID``
|
|
~~~~~~~~~~~~~~~
|
|
|
|
If you're working with fresh Django installation, you need to set the SITE_ID
|
|
|
|
.. code-block:: python
|
|
|
|
SITE_ID = 1
|
|
|
|
|
|
User account handling
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
There is a limited account handling included to allow users to sign up. Its
|
|
settings are shown below with their default values. To switch off account
|
|
handling entirely, set ``WIKI_ACCOUNT_HANDLING = False``.
|
|
|
|
.. code-block:: python
|
|
|
|
WIKI_ACCOUNT_HANDLING = True
|
|
WIKI_ACCOUNT_SIGNUP_ALLOWED = True
|
|
|
|
After a user is logged in, they will be redirected to the value of
|
|
``LOGIN_REDIRECT_URL``, which you can configure in your project's settings.py to
|
|
point to the root article:
|
|
|
|
.. code-block:: python
|
|
|
|
from django.urls import reverse_lazy
|
|
LOGIN_REDIRECT_URL = reverse_lazy('wiki:get', kwargs={'path': ''})
|
|
|
|
|
|
|
|
Include urlpatterns
|
|
~~~~~~~~~~~~~~~~~~~
|
|
|
|
To integrate the wiki in your existing application, you should ensure the
|
|
following lines are included in your project's ``urls.py``.
|
|
|
|
.. code-block:: python
|
|
|
|
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'))
|
|
]
|
|
|
|
|
|
The above line puts the wiki in */* so it's important to put it at the
|
|
end of your urlconf. You can also put it in */wiki* by putting
|
|
``'^wiki/'`` as the pattern.
|
|
|
|
.. note::
|
|
|
|
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)
|
|
|
|
Please refer to
|
|
`the Django docs <https://docs.djangoproject.com/en/stable/howto/static-files/#serving-files-uploaded-by-a-user-during-development>`__.
|