initial
This commit is contained in:
196
docs/installation.rst
Normal file
196
docs/installation.rst
Normal file
@@ -0,0 +1,196 @@
|
||||
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>`__.
|
||||
Reference in New Issue
Block a user