X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/0d51e8dc2b15ca84b8979b94a3224b4a33f7f25e..bae6b1cbc5eb00d2273c45b55ea0950949fce0a9:/views.py diff --git a/views.py b/views.py index 65acb52..911adfe 100644 --- a/views.py +++ b/views.py @@ -1,18 +1,22 @@ from django.http import Http404, HttpResponse from django.template import RequestContext from django.contrib.sites.models import Site -from models import Page +from philo.models import Node -def page_view(request, path=None, **kwargs): - page = None + +def node_view(request, path=None, **kwargs): + node = None + subpath = None if path is None: path = '/' try: current_site = Site.objects.get_current() if current_site: - page = Page.objects.get_with_path(path, root=current_site.root_page) - except Page.DoesNotExist: + 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 not page: + if subpath and not node.accepts_subpath: raise Http404 - return HttpResponse(page.template.django_template.render(RequestContext(request, {'page': page})), mimetype=page.template.mimetype) + return node.render_to_response(request, path=path, subpath=subpath)