subpath = None
if path is None:
path = '/'
+ current_site = Site.objects.get_current()
try:
- current_site = Site.objects.get_current()
- if current_site:
- node, subpath = Node.objects.get_with_path(path, root=current_site.root_node, absolute_result=False)
+ node, subpath = Node.objects.get_with_path(path, root=current_site.root_node, absolute_result=False)
except Node.DoesNotExist:
raise Http404
if not node:
raise Http404
- if subpath and not node.instance.accepts_subpath:
- raise Http404
- return node.instance.render_to_response(request, path=path, subpath=subpath)
+ try:
+ if subpath and not node.accepts_subpath:
+ raise Http404
+ return node.render_to_response(request, path=path, subpath=subpath)
+ except Http404, e:
+ try:
+ Http404View = node.relationships['Http404']
+ except KeyError:
+ Http404View = None
+
+ if not Http404View:
+ raise e
+
+ return Http404View.render_to_response(node, request, path, subpath)
\ No newline at end of file