Make sure to install these packages prior to installation :
The packages below are optionnal but needed for run the full test suite.
Note that all the dependencies will be resolved if you install Zinnia with pip or easy_install, excepting Django.
For the latest stable version of Zinnia use easy_install:
$ easy_install django-blog-zinnia
or use 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 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 pip:
$ pip install -e git://github.com/Fantomas42/django-blog-zinnia.git#egg=django-blog-zinnia
Then register zinnia, and these following applications in the INSTALLED_APPS section of your project’s settings.
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.admin',
'django.contrib.sites',
'django.contrib.comments',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.contenttypes',
'tagging',
'mptt',
'zinnia',
)
Add these following template context processors if not already present.
TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.i18n',
'django.core.context_processors.request',
'django.core.context_processors.media',
'django.core.context_processors.static',
'zinnia.context_processors.version',) # Optional
Add the following lines to your project’s urls.py in order to display the blog.
url(r'^weblog/', include('zinnia.urls')),
url(r'^comments/', include('django.contrib.comments.urls')),
Note that the default zinnia URLset is provided for convenient usage, but you can customize your URLs if you want. Here’s how:
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'^weblog/tags/', include('zinnia.urls.tags')),
url(r'^weblog/feeds/', include('zinnia.urls.feeds')),
url(r'^weblog/authors/', include('zinnia.urls.authors')),
url(r'^weblog/categories/', include('zinnia.urls.categories')),
url(r'^weblog/discussions/', include('zinnia.urls.discussions')),
url(r'^weblog/', include('zinnia.urls.entries')),
url(r'^weblog/', include('zinnia.urls.archives')),
url(r'^weblog/', include('zinnia.urls.shortlink')),
url(r'^weblog/', include('zinnia.urls.quick_entry')),
url(r'^comments/', include('django.contrib.comments.urls')),
Since the version 1.3 of Django, Zinnia uses the django.contrib.staticfiles application to serve the static files needed. Please refer to https://docs.djangoproject.com/en/dev/howto/static-files/ for more informations about serving static files.
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 syncdb
If you are using South to manage your database, you will have to do the following.
$ python manage.py syncdb --migrate