Skip to content

Commit

Permalink
[1.4.X] Fixed #14556 - Documented how to use flatpages in URLconf; th…
Browse files Browse the repository at this point in the history
…anks Claude Paroz for the draft patch.

Backport of 7235cc7 from master
  • Loading branch information
timgraham committed Aug 31, 2012
1 parent b8340d2 commit df0c105
Showing 1 changed file with 41 additions and 2 deletions.
43 changes: 41 additions & 2 deletions docs/ref/contrib/flatpages.txt
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -42,6 +42,16 @@ To install the flatpages app, follow these steps:
2. Add ``'django.contrib.flatpages'`` to your :setting:`INSTALLED_APPS` 2. Add ``'django.contrib.flatpages'`` to your :setting:`INSTALLED_APPS`
setting. setting.


Then either:

3. Add an entry in your URLconf. For example::

urlpatterns = patterns('',
('^pages/', include('django.contrib.flatpages.urls')),
)

or:

3. Add ``'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware'`` 3. Add ``'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware'``
to your :setting:`MIDDLEWARE_CLASSES` setting. to your :setting:`MIDDLEWARE_CLASSES` setting.


Expand All @@ -57,8 +67,38 @@ and ``django_flatpage_sites``. ``django_flatpage`` is a simple lookup table
that simply maps a URL to a title and bunch of text content. that simply maps a URL to a title and bunch of text content.
``django_flatpage_sites`` associates a flatpage with a site. ``django_flatpage_sites`` associates a flatpage with a site.


Using the URLconf
-----------------

There are several ways to include the flat pages in your URLconf. You can
dedicate a particular path to flat pages::

urlpatterns = patterns('',
('^pages/', include('django.contrib.flatpages.urls')),
)

You can also set it up as a "catchall" pattern. In this case, it is important
to place the pattern at the end of the other urlpatterns::

# Your other patterns here
urlpatterns += patterns('django.contrib.flatpages.views',
(r'^(?P<url>.*)$', 'flatpage'),
)

Another common setup is to use flat pages for a limited set of known pages and
to hard code the urls, so you can reference them with the :ttag:`url` template
tag::

urlpatterns += patterns('django.contrib.flatpages.views',
url(r'^about-us/$', 'flatpage', {'url': '/about-us/'}, name='about'),
url(r'^license/$', 'flatpage', {'url': '/license/'}, name='license'),
)

Using the middleware
--------------------

The :class:`~django.contrib.flatpages.middleware.FlatpageFallbackMiddleware` The :class:`~django.contrib.flatpages.middleware.FlatpageFallbackMiddleware`
does all of the work. can do all of the work.


.. class:: FlatpageFallbackMiddleware .. class:: FlatpageFallbackMiddleware


Expand Down Expand Up @@ -255,4 +295,3 @@ For example:
{% get_flatpages '/about/' as about_pages %} {% get_flatpages '/about/' as about_pages %}
{% get_flatpages about_prefix as about_pages %} {% get_flatpages about_prefix as about_pages %}
{% get_flatpages '/about/' for someuser as about_pages %} {% get_flatpages '/about/' for someuser as about_pages %}

0 comments on commit df0c105

Please sign in to comment.