### last item in urlpatterns in urls.py
(r'^(?P<full_slug>(.*))/$', 'myproject.myapp.views.pages')


### myview
from django.http import Http404
from django.shortcuts import get_object_or_404

def pages(request, full_slug):
    slugs = full_slug.split('/')
    page_slug = slugs[-1]
    page = get_object_or_404(Page,slug=page_slug)
    if not page.get_absolute_url().strip('/') == full_slug:
       raise Http404
    ### if you reach this line, you've found the page


### in page model
    def get_absolute_url(self):
        url = "/%s/" % self.slug
        page = self
        while page.parent:
            url = "/%s%s" % (page.parent.slug,url)
            page = page.parent
        return url