web/lib/django/contrib/flatpages/views.py
changeset 29 cc9b7e14412b
parent 0 0d40e90630ef
equal deleted inserted replaced
28:b758351d191f 29:cc9b7e14412b
     3 from django.shortcuts import get_object_or_404
     3 from django.shortcuts import get_object_or_404
     4 from django.http import HttpResponse, HttpResponseRedirect
     4 from django.http import HttpResponse, HttpResponseRedirect
     5 from django.conf import settings
     5 from django.conf import settings
     6 from django.core.xheaders import populate_xheaders
     6 from django.core.xheaders import populate_xheaders
     7 from django.utils.safestring import mark_safe
     7 from django.utils.safestring import mark_safe
       
     8 from django.views.decorators.csrf import csrf_protect
     8 
     9 
     9 DEFAULT_TEMPLATE = 'flatpages/default.html'
    10 DEFAULT_TEMPLATE = 'flatpages/default.html'
    10 
    11 
       
    12 # This view is called from FlatpageFallbackMiddleware.process_response
       
    13 # when a 404 is raised, which often means CsrfViewMiddleware.process_view
       
    14 # has not been called even if CsrfViewMiddleware is installed. So we need
       
    15 # to use @csrf_protect, in case the template needs {% csrf_token %}.
       
    16 @csrf_protect
    11 def flatpage(request, url):
    17 def flatpage(request, url):
    12     """
    18     """
    13     Flat page view.
    19     Flat page view.
    14 
    20 
    15     Models: `flatpages.flatpages`
    21     Models: `flatpages.flatpages`