[1.4.X] Fixed #14556 - Documented how to use flatpages in URLconf; thanks Claude Paroz for the draft patch.

Backport of 7235cc7685 from master
This commit is contained in:
Tim Graham 2012-08-31 06:50:00 -04:00
parent b8340d26e4
commit df0c1055cd
1 changed files with 41 additions and 2 deletions

View File

@ -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.
@ -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
@ -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 %}