Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.http import Http404
- from django.shortcuts import render
- from django.template import Template
- from django.utils._os import safe_join
- from . import settings
- import os
- def get_page_or_404(name):
- """Return page content as a Django template or raise 404 err."""
- try:
- file_path = safe_join(settings.SITE_PAGES_DIR, name)
- except ValueError:
- raise Http404('Page not found[1].')
- else:
- if not os.path.exists(file_path):
- raise Http404('Page not found[2].')
- with open(file_path,'r') as f:
- page = Template(f.read())
- return page
- def page(request, slug='index'):
- """render the requested page if found."""
- file_name = slug + '.html'
- page = get_page_or_404(file_name)
- context = {
- 'slug' : slug,
- 'page' : page,
- }
- return render(request,'page.html', context)
Advertisement
Add Comment
Please, Sign In to add comment