diff --git a/django/views/core/flatfiles.py b/django/views/core/flatfiles.py index 2edccbf982..af5aa5bce2 100644 --- a/django/views/core/flatfiles.py +++ b/django/views/core/flatfiles.py @@ -1,6 +1,5 @@ from django.core import template_loader -from django.core.exceptions import Http404 -from django.core.extensions import DjangoContext as Context +from django.core.extensions import get_object_or_404, DjangoContext from django.models.core import flatfiles from django.utils.httpwrappers import HttpResponse from django.conf.settings import SITE_ID @@ -18,17 +17,14 @@ def flat_file(request, url): """ if not url.startswith('/'): url = "/" + url - try: - f = flatfiles.get_object(url__exact=url, sites__id__exact=SITE_ID) - except flatfiles.FlatFileDoesNotExist: - raise Http404 + f = get_object_or_404(flatfiles, url__exact=url, sites__id__exact=SITE_ID) # If registration is required for accessing this page, and the user isn't # logged in, redirect to the login page. if request.user.is_anonymous() and f.registration_required: from django.views.auth.login import redirect_to_login return redirect_to_login(request.path) t = template_loader.select_template([f.template_name, 'flatfiles/default']) - c = Context(request, { + c = DjangoContext(request, { 'flatfile': f, }) return HttpResponse(t.render(c))