app/django/contrib/flatpages/middleware.py
changeset 54 03e267d67478
child 323 ff1a9aa48cfd
equal deleted inserted replaced
53:57b4279d8c4e 54:03e267d67478
       
     1 from django.contrib.flatpages.views import flatpage
       
     2 from django.http import Http404
       
     3 from django.conf import settings
       
     4 
       
     5 class FlatpageFallbackMiddleware(object):
       
     6     def process_response(self, request, response):
       
     7         if response.status_code != 404:
       
     8             return response # No need to check for a flatpage for non-404 responses.
       
     9         try:
       
    10             return flatpage(request, request.path)
       
    11         # Return the original response if any errors happened. Because this
       
    12         # is a middleware, we can't assume the errors will be caught elsewhere.
       
    13         except Http404:
       
    14             return response
       
    15         except:
       
    16             if settings.DEBUG:
       
    17                 raise
       
    18             return response