from talflatpages.models import FlatPage from simpletemplate import simpletemplate from django.shortcuts import get_object_or_404 from django.http import HttpResponse from django.conf import settings from django.core.xheaders import populate_xheaders DEFAULT_TEMPLATE = 'flatpages/default.html' def flatpage(request, url): """ Flat page view. Models: `flatpages.flatpages` Templates: Uses the template defined by the ``template_name`` field, or `flatpages/default.html` if template_name is not defined. Context: flatpage `flatpages.flatpages` object """ if not url.startswith('/'): url = "/" + url f = get_object_or_404(FlatPage, url__exact=url, sites__id__exact=settings.SITE_ID) # If registration is required for accessing this page, and the user isn't # logged in, redirect to the login page. if f.registration_required and not request.user.is_authenticated(): from django.contrib.auth.views import redirect_to_login return redirect_to_login(request.path) t = simpletemplate.get_template('talflatpages/talflatpages.pt') c = {'flatpage': f,} response = HttpResponse(t.render(c)) populate_xheaders(request, response, FlatPage, f.id) return response