Welcome to django-ostinato’s documentation! — django-ostinato 0.9 documentation

### Navigation

- index
- next |
- django-ostinato 0.9 documentation »

# Welcome to django-ostinato’s documentation!

> “In music, an ostinato (derived from Italian: “stubborn”, compare English: obstinate) is a motif or phrase, which is persistently repeated in the same musical voice.”

> —Wikipedia

# Introduction

Django-ostinato is a collection of applications that aims to bring together some of the most common features expected from a CMS.

Every feature is contained within a single ostinato app. This helps us to keep functionality focussed on the single feature/task that the app is meant to provide

- The Demo Project
  - Setting up the demo project
  - Running the demo project
- ostinato.pages
  - A quick overview
  - Requirements
  - Add `ostinato.pages` to your project
  - Creating and registering page content
  - Displaying page content in the templates
  - Creating a custom view for your content
  - Custom forms for Page Content
  - Creating complex page content with mixins
  - Extra Inline Fields for a Page in the Admin
  - Template tags and filters
- ostinato.statemachine
  - Overview
  - Custom Action methods
  - Admin Integration
  - Custom `state_field`
- ostinato.blog
  - Overview
  - How to use `ostinago.blog`
  - Using the custom manager
  - Wrapping up
- ostinato.contentfilters
  - Writing a Contentfilter
  - Using the filters in your templates
  - Default content filters included with ostinato.contentfilters

# Indices and tables

- Index
- Module Index
- Search Page

### Navigation

- index
- next |
- django-ostinato 0.9 documentation »