Guest User

Untitled

a guest
Feb 13th, 2015
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.79 KB | None | 0 0
  1. from django.http import Http404
  2. from django.shortcuts import render
  3. from django.template import Template
  4. from django.utils._os import safe_join
  5. from . import settings
  6. import os
  7.  
  8. def get_page_or_404(name):
  9.     """Return page content as a Django template or raise 404 err."""
  10.     try:   
  11.         file_path  = safe_join(settings.SITE_PAGES_DIR, name)
  12.     except ValueError:
  13.         raise Http404('Page not found[1].')
  14.     else:
  15.         if not os.path.exists(file_path):
  16.             raise Http404('Page not found[2].')
  17.     with open(file_path,'r') as f:
  18.         page = Template(f.read())
  19.     return page
  20.  
  21. def page(request, slug='index'):
  22.     """render the requested page if found."""
  23.     file_name = slug + '.html'
  24.     page = get_page_or_404(file_name)
  25.     context = {
  26.         'slug' : slug,
  27.         'page' : page,
  28.     }
  29.     return render(request,'page.html', context)
Advertisement
Add Comment
Please, Sign In to add comment