Django-blog-zinnia初体验(一)

一、简介

zinnia是免费的blog模块,自己可根据需要在之上修改,形成自己风格的博客。

二、zinnia安装

GitHub上的地址是https://github.com/Fantomas42/django-blog-zinnia

按照GitHub上的安装流程,即可正确安装,具体见https://github.com/Fantomas42/django-blog-zinnia/blob/develop/docs/getting-started/install.rst。


copy如下:

Installation

Dependencies

Make sure to install these packages prior to installation :

  • Python >= 2.7
  • Django >= 1.7,<1.9
  • Pillow >= 2.0.0
  • django-mptt >= 0.5.1
  • django-tagging >= 0.3.6
  • beautifulsoup4 >= 4.1.3
  • mots-vides >= 2015.2.6
  • django-contrib-comments >= 1.6

The packages below are optionnal but needed for run the full test suite or migrate the database.

  • pytz
  • pyparsing >= 2.0.1
  • django-xmlrpc >= 0.1.5

Note that all the needed dependencies will be resolved if you install Zinnia with :program:`pip` or :program:`easy_install`, excepting Django.

Getting the code

For the latest stable version of Zinnia use :program:`easy_install`:

$ easy_install django-blog-zinnia

or use :program:`pip`:

$ pip install django-blog-zinnia

You could also retrieve the last sources from https://github.com/Fantomas42/django-blog-zinnia. Clone the repository using :program:`git` and run the installation script:

$ git clone git://github.com/Fantomas42/django-blog-zinnia.git
$ cd django-blog-zinnia
$ python setup.py install

or more easily via :program:`pip`:

$ pip install -e git://github.com/Fantomas42/django-blog-zinnia.git#egg=django-blog-zinnia

Applications

Assuming that you have an already existing Django project, register :mod:`zinnia`, and these following applications in the :setting:`INSTALLED_APPS` section of your project's settings.

INSTALLED_APPS = (
  'django.contrib.auth',
  'django.contrib.admin',
  'django.contrib.sites',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  'django.contrib.contenttypes',
  'django_comments',
  'mptt',
  'tagging',
  'zinnia',
)

Template Context Processors

Add these following :setting:`template context processors` if not already present.

TEMPLATES = [
  {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'APP_DIRS': True,
    'OPTIONS': {
      'context_processors': [
        'django.contrib.auth.context_processors.auth',
        'django.template.context_processors.i18n',
        'django.template.context_processors.request',
        'django.contrib.messages.context_processors.messages',
        'zinnia.context_processors.version',  # Optional
      ]
    }
  }
]

URLs

Add at least these following lines to your project's urls.py in order to display the Weblog.

url(r'^weblog/', include('zinnia.urls', namespace='zinnia')),
url(r'^comments/', include('django_comments.urls')),

Remember to enable the :mod:`~django.contrib.admin` site in the urls.py of your project if you haven't done it yet for having the edition capabilities.

Note that the default Zinnia URLset :mod:`zinnia.urls` is calibrated for convenient usage, but you can customize your Weblog URLs as you want. Here's a custom implementation of the URLs provided by Zinnia:

blog_urls = [
    url(r'^', include('zinnia.urls.capabilities')),
    url(r'^search/', include('zinnia.urls.search')),
    url(r'^sitemap/', include('zinnia.urls.sitemap')),
    url(r'^trackback/', include('zinnia.urls.trackback')),
    url(r'^blog/tags/', include('zinnia.urls.tags')),
    url(r'^blog/feeds/', include('zinnia.urls.feeds')),
    url(r'^blog/random/', include('zinnia.urls.random')),
    url(r'^blog/authors/', include('zinnia.urls.authors')),
    url(r'^blog/categories/', include('zinnia.urls.categories')),
    url(r'^blog/comments/', include('zinnia.urls.comments')),
    url(r'^blog/', include('zinnia.urls.entries')),
    url(r'^blog/', include('zinnia.urls.archives')),
    url(r'^blog/', include('zinnia.urls.shortlink')),
    url(r'^blog/', include('zinnia.urls.quick_entry'))
]

url(r'^', include(blog_urls, namespace='zinnia'))

Sites

Define the value of :setting:`SITE_ID` if not already done.

SITE_ID = 1

Emails

Be sure that the sending of emails is correctly configured, otherwise the moderation system will not work. Please refer to https://docs.djangoproject.com/en/dev/topics/email/ for more information about sending emails.

Static Files

Since the version 1.3 of Django, Zinnia uses the :mod:`~django.contrib.staticfiles` application to serve the static files needed. Please refer to https://docs.djangoproject.com/en/dev/howto/static-files/ for more information about serving static files.

Syncing the database

Now that you have everything set up, simply run the following in your project directory to sync the models with the database.

$ python manage.py migrate


安装完之后,整个zinnia安装在python的site-packages中。其中还有django-comments、mptt和tagging。


三、zinnia初次接触

1、可以将zinnia从site-packages移动到自己的工程目录中
如图:
Django-blog-zinnia初体验(一)_第1张图片
我的django工程目录是mysite,zinnia放置到与django教程中polls工程同目录

2、需要修改settings.py,映射APP
INSTALLED_APPS = (
  'django.contrib.auth',
  'django.contrib.admin',
  'django.contrib.sites',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  'django.contrib.contenttypes',
  'django_comments',
  'mptt',
  'tagging',
  'zinnia.apps.ZinnaConfig',
)
3、重新python managy.py migrate生成models
这样就可以将site-package中的zinnia移动到自己的目录。同理,mptt,tagging,django_comments都可以这样移动,如果没有app.py就新建一个,并在其中编写AppConfig的继承类,如ZinniaConfig。

4、默认的zinnia是英文的,但是支持多语言,如下修改settings.py,最后一行去掉注释
Django-blog-zinnia初体验(一)_第2张图片

你可能感兴趣的:(python-django,python,MAC,OS)