app/django/contrib/flatpages/middleware.py
author Dan Bentley <dbentley@google.com>
Mon, 25 May 2009 16:23:16 -0700
changeset 2351 73448b71aa07
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
Add Organization Application seeding. Fix the seeding in seed_db so that a consistent linkid for organization applications is used. Use the last entry in the split array instead of the 2nd.

from django.contrib.flatpages.views import flatpage
from django.http import Http404
from django.conf import settings

class FlatpageFallbackMiddleware(object):
    def process_response(self, request, response):
        if response.status_code != 404:
            return response # No need to check for a flatpage for non-404 responses.
        try:
            return flatpage(request, request.path_info)
        # Return the original response if any errors happened. Because this
        # is a middleware, we can't assume the errors will be caught elsewhere.
        except Http404:
            return response
        except:
            if settings.DEBUG:
                raise
            return response