This is an optional add-on app, flatpages.

For full documentation, see either of these:

    * The file docs/flatpages.txt in the Django distribution
    * http://www.djangoproject.com/documentation/flatpages/ on the Web

Both have identical content.
