Urls with ".html" suffix in FlatPages

150 Views Asked by At

I FlatPages to display pages with .html suffix. When I try to create page with url like /about/policy.html I get error URL is missing a trailing slash. So, how can I make FlatPages use any url suffix I want?

Now I have FlatPages middleware in my MiddleWare classes installed:

MIDDLEWARE_CLASSES = (
    ...,
    'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
)

, so I don't have any url patterns related to flatpages in my urls.py.

2

There are 2 best solutions below

0
On BEST ANSWER

I've just removed FlatPages middleware from settings and added this line to the end of my urlpatterns:

url(r'^(?P<url>.*)', 'django.contrib.flatpages.views.flatpage'),
1
On

I think, it is only possible with explicit urls in urls.py

try this.

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