def server_error_404(request, exception=None, template_name='404.html'): # pylint: disable=unused-argument # noqa """ A simple 404 handler so we get media. .. note:: Marking exception as optional to make /404/ testing page to work. """ response = get_redirect_response(request, full_path=request.get_full_path()) # Return a redirect response if there is one if response: if response.url == request.build_absolute_uri(): # check that we do have a response and avoid infinite redirect log.warning( 'Infinite Redirect: FROM URL is the same than TO URL. url=%s', response.url, ) else: return response # Try to serve custom 404 pages if it's a subdomain/cname if getattr(request, 'subdomain', False) or getattr(request, 'cname', False): return server_error_404_subdomain(request, template_name) # Return the default 404 page generated by Read the Docs r = render(request, template_name) r.status_code = 404 return r
def server_error_404(request, exception, template_name='404.html'): # pylint: disable=unused-argument # noqa """A simple 404 handler so we get media.""" response = get_redirect_response(request, path=request.get_full_path()) if response: return response r = render(request, template_name) r.status_code = 404 return r
def server_error_404(request, template_name='404.html'): """A simple 404 handler so we get media""" response = get_redirect_response(request, path=request.get_full_path()) if response: return response r = render_to_response(template_name, context_instance=RequestContext(request)) r.status_code = 404 return r
def promo_404(request, template_name='donate/promo_404.html', **__): """A simple 404 handler so we get media""" promo_dict = _add_promo_data(display_type='error') response = get_redirect_response(request, path=request.get_full_path()) if response: return response r = render_to_response(template_name, context_instance=RequestContext(request), context={ 'promo_data': promo_dict, }) r.status_code = 404 return r
def server_error_404(request, exception=None, template_name='404.html'): # pylint: disable=unused-argument # noqa """ A simple 404 handler so we get media. .. note:: Marking exception as optional to make /404/ testing page to work. """ response = get_redirect_response(request, path=request.get_full_path()) if response: return response r = render(request, template_name) r.status_code = 404 return r
def server_helpful_404( request, project_slug=None, lang_slug=None, version_slug=None, filename=None, template_name='404.html'): response = get_redirect_response(request, path=filename) if response: return response pagename = re.sub( r'/index$', r'', re.sub(r'\.html$', r'', re.sub(r'/$', r'', filename))) suggestion = get_suggestion( project_slug, lang_slug, version_slug, pagename, request.user) r = render_to_response(template_name, {'suggestion': suggestion}, context_instance=RequestContext(request)) r.status_code = 404 return r
def server_error_404(request, exception=None, template_name='404.html'): # pylint: disable=unused-argument # noqa """ A simple 404 handler so we get media. .. note:: Marking exception as optional to make /404/ testing page to work. """ response = get_redirect_response(request, path=request.get_full_path()) if response: if response.url == request.build_absolute_uri(): # check that we do have a response and avoid infinite redirect log.warning( 'Infinite Redirect: FROM URL is the same than TO URL. url=%s', response.url, ) else: return response r = render(request, template_name) r.status_code = 404 return r