Блог на Django Zinnia

Django — отличный фреймворк для создания сайтов. Одним из преимуществ Django является поддержка сторонних приложений, которые вы можете интегрировать в свой сайт, чтобы не писать заново велосипед. Например, для создания блога можно использовать Zinnia — приложение, реализующее практически все, что вам можно понадобится от блога на сайте.

Данная статья описывает создание блога, используя Django Zinnia, а в следующей мы добавим к нему мультиязычность.

Подготовка виртуального окружения

Начнем с подготовки виртуального окружения командой mkvirtualenv blog.

Теперь все устанавливаемые python приложения будут установлены в виртуальном окружении, не засоряя систему.

Установка зависимостей Zinnia

Zinnia требует установки следующих зависимостей:

Добавим их в файл requirement.txt и установим командой

pip install -r requirement.txt

Содержимое файла requirement.txt

Django==1.5.1
PIL==1.1.7
beautifulsoup4==4.2.1
django-mptt==0.5.5
django-tagging==0.3.1

Установка Django Zinnia

Установить приложение Django Zinnia можно командой

pip install django-blog-zinnia

При установке Zinnia добавит также дополнительно пакеты

django-xmlrpc==0.1.5
pyparsing==1.5.7
pytz==2013b

Настройка Django проекта — добавление приложения Zinnia

Теперь нужно добавить Zinnia и другие необходимые приложения в наш проект.

Открываем settings.py и добавляем в INSTALLED_APPS

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

Также создадим или изменим раздел TEMPLATE_CONTEXT_PROCESSORS

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

Также, если это еще не сделано, добавьте настройки вашей базы данных.

На этом настройка проекта завершена. Для работы блога нужно также прописать URL

Настройка URL для блога

В корневом URL проекта нужно раскомментировать строки для работы админки и добавить две строки для работы блога:

url(r'^weblog/', include('zinnia.urls')),
url(r'^comments/', include('django.contrib.comments.urls')),

Синхронизация базы

Настройки завершены. Для запуска сайта и осмотра того, что получилось, выполним создание таблиц в базе данных

python manage.py syncdb

Тестирование блога

Теперь можно запустить веб-сервер и проверить, что блог доступен и работает.

Для запуска выполняем команду

python manage.py runserver

и переходим по адресу http://127.0.0.1:8000/weblog/

 

При отправке комментариев Zinnia будет отсылать письмо автору комментария на указанный email. По-умолчанию Django использует localhost:25 в качестве параметров для SMTPсервера.

Если на компьютере на 25 порту не запущен SMTP, то при отправке комментария вы получите ошибку

error at /comments/post/
[Errno 111] Connection refused

Запустить SMTP сервер для тестирования вы можете командой

sudo python -m smtpd -n -c DebuggingServer localhost:25

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *