django wiki

介绍

django wiki 源码地址:https://github.com/django-wiki/django-wiki

官方说明文档:http://django-wiki.readthedocs.io/en/latest/

安装

安装中涉及的内容

  • Python>=2.7 or Python>=3.2
  • django

  • django wiki

  • Markdown

  • django-mptt

  • django-sekizai

  • sorl-thumbnail

  • Pillow (Python Imaging Library)

最简单便利的方法是通过命令行直接运行以下内容,会将所需要插件等一次性安装。

pip install wiki(对自己服务器或者编码的电脑环境熟悉者使用!)

个人比较喜欢分开安装,一次性安装过程中如果出错比较麻烦需要咱们自己看命令行内的错误提示或者日志。如果逐条命令安装出现问题,能较快速的定位到错误。

- pip install django
- pip install Markdown
- pip install django-mptt
- pip install django-sekizai
- pip install sorl-thumbnail
- pip install Pillow(贫道电脑通过pip安装该内容出错,后使用 easy_install Pillow)
- 下载django-wiki源码:git clone https://github.com/django-wiki/django-wiki.git 如果电脑或者服务器没有安装git可以直接下载zip压缩包:https://github.com/django-wiki/django-wiki/archive/master.zip

安装好所有内容并下载Django wiki 源码后开始创建项目

命令行创建一个Django项目

    django-admin.py startproject 项目名

Django程序创建完成后,开始往Django中加入Django wiki所需要的配置。

进入刚刚建立的项目文件夹找到对应项目名称文件夹内的settings.py文件并打开,打开后找到INSTALLED_APPS,在原有内容之后加入以下引用

    'django.contrib.sites', # django 1.6.2+
    'django.contrib.humanize',
    'django_nyt',
    'mptt',
    'sekizai',
    'sorl.thumbnail',
    'wiki',
    'wiki.plugins.attachments',
    'wiki.plugins.notifications',
    'wiki.plugins.images',
    'wiki.plugins.macros',

添加完成后的INSTALLED_APPS大概是这样的:

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        # 以下是我们需要加入的内容
        'django.contrib.sites', # django 1.6.2+
        'django.contrib.humanize',
        'django_nyt',
        'mptt',
        'sekizai',
        'sorl.thumbnail',
        'wiki',
        'wiki.plugins.attachments',
        'wiki.plugins.notifications',
        'wiki.plugins.images',
        'wiki.plugins.macros',
    ]

官方文档内说明如果使用Django的版本小于1.7还需要加入一个引用

    'south'

拷贝Django wiki压缩包内到wiki文件夹至创建的项目根目录,如果使用pip install wiki 安装的朋友可以省略此步骤。

命令行更新Django 数据库

django版本>=1.7  python manage.py migrate
django版本< 1.7  python manage.py syncdb

回到settings.py文件内找到TEMPLATES或者TEMPLATE_CONTEXT_PROCESSORS(找到其中一个即可),找到TEMPLATES请替换OPTIONS内容其他部分保留不变。

    TEMPLATES = [
    {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    # ...
    '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",
            #替换的部分 结束
        ],
    },
    },
    ]

或者找到TEMPLATE_CONTEXT_PROCESSORS 直接替换以下内容

    TEMPLATE_CONTEXT_PROCESSORS = [
    "django.contrib.auth.context_processors.auth",
    "django.core.context_processors.debug",
    "django.core.context_processors.i18n",
    "django.core.context_processors.media",
    "django.core.context_processors.request",
    "django.core.context_processors.static",
    "django.core.context_processors.tz",
    "django.contrib.messages.context_processors.messages",
    "sekizai.context_processors.sekizai",
]

因为咱们是全新创建的项目需要在settings.py中加入SITE_ID = 1。个人喜好在最后一行加入。

现在需要打开urls.py文件,可以将整个页面内容都替换了。

django >=1.8

    from wiki.urls import get_pattern as get_wiki_pattern
    from django_nyt.urls import get_pattern as get_nyt_pattern
    urlpatterns = [

        url(r'^notifications/', get_nyt_pattern()),
        url(r'', get_wiki_pattern()),

    ]

django <1.8

    from django.conf.urls import patterns
    from wiki.urls import get_pattern as get_wiki_pattern
    from django_nyt.urls import get_pattern as get_nyt_pattern
    urlpatterns += patterns('',
        (r'^notifications/', get_nyt_pattern()),
        (r'', get_wiki_pattern())
    )

完成以上步骤后基本上就可以直接执行 python manage.py runserver 运行项目查看效果了,如果需要编辑文件新建文件需要建立一个超级管理员用户。

    python manage.py createsuperuser  按提示输入用户名、邮箱、密码即可

后续会写在iis7中发布django,如果是使用linux请自行搜索发布步骤网上类似文章很多也很方便。