/puput

A Django blog app implemented in Wagtail

Primary LanguagePythonOtherNOASSERTION

Documentation Status

Puput

Puput is a powerful and simple Django app to manage a blog. It uses the awesome Wagtail CMS as content management system.

Puput is the catalan name for Hoopoe which is indeed a beautiful bird.

http://i.imgur.com/ndZLeWb.png

Features

  • Built with Wagtail CMS and Django
  • Inspired in Wordpress and Zinnia
  • Simple & responsive HTML template by default
  • SEO friendly urls
  • Support for Disqus comments
  • Entries by author, tags, categories, archives and search term
  • Last & popular entries
  • Configurable sidebar widgets
  • RSS feeds
  • Related entries
  • Extensible entry model

Setup

If you have a running Django project and you want to add blog site to your project, please follow Standalone blog app steps. Otherwise follow the Wagtail blog app steps if you are currently using Wagtail on your project.

Standalone blog app

  1. Install Puput and its dependencies pip install puput
  2. Add to PUPUT_APPS to your INSTALLED_APPS in settings.py file.
from puput import PUPUT_APPS

INSTALLED_APPS += PUPUT_APPS

This includes Puput, Wagtail apps and Third party apps. If you have on of these apps previously defined in your INSTALLED_APPS please include manually this apps in order to avoid apps collisions:

INSTALLED_APPS = (
    ...
    'wagtail.wagtailcore',
    'wagtail.wagtailadmin',
    'wagtail.wagtaildocs',
    'wagtail.wagtailsnippets',
    'wagtail.wagtailusers',
    'wagtail.wagtailimages',
    'wagtail.wagtailembeds',
    'wagtail.wagtailsearch',
    'wagtail.wagtailredirects',
    'wagtail.wagtailforms',
    'wagtail.contrib.wagtailsitemaps',
    'wagtail.contrib.wagtailroutablepage',
    'compressor',
    'taggit',
    'modelcluster',
    'puput',
)
  1. Add Wagtail required middleware classes in settings.py file
MIDDLEWARE_CLASSES = (
    ...
    'wagtail.wagtailcore.middleware.SiteMiddleware',
    'wagtail.wagtailredirects.middleware.RedirectMiddleware',
)
  1. Add request context processor to TEMPLATE_CONTEXT_PROCESSORS structure in settings.py file
TEMPLATE_CONTEXT_PROCESSORS = (
    ...
    'django.core.context_processors.request',
)
  1. Set WAGTAIL_SITE_NAME variable in settings.py file with your site name
  2. Place Puput urls at the bottom of the urlpatterns. It also includes Wagtail urls.
urlpatterns = [
    ...
    url(r'', include('puput.urls')),
]
  1. Run python manage.py migrate and python manage.py puput_initial_data to load initial data to start a blog site.
  2. Open your broswer at http://127.0.0.1:8000/blog/ to view your blog home page.

Wagtail blog app

  1. Install Puput and its dependencies pip install puput
  2. Add puput to your INSTALLED_APPS in settings.py file.
  3. If you have previously defined Wagtail urls in urls.py set PUPUT_AS_PLUGIN = True in the settings.py. This will avoid to include Wagtail urls again when you include necessary Puput urls.
  4. Include Puput urls in your urls.py file.
urlpatterns = [
    ...
    url(r'', include('puput.urls')),
    ...
]
  1. Run python manage.py migrate

Documentation

Visit Puput documentation for the detailed documentation.