/django/contrib/flatpages/middleware.py
Python | 18 lines | 15 code | 1 blank | 2 comment | 4 complexity | 2aeb74675604648b01ca227399a69436 MD5 | raw file
Possible License(s): BSD-3-Clause
- 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