First Post
Hi! My name is Scott and this is a website.
Isn't that great.
(bit stolen from http://www.homestarrunner.com)
Improving Django's direct_to_template Static Page System
For this site I have a large number of static pages. Django provides two ways of serving such content: flatpages and the generic view direct_to_template. I prefer the direct_to_template system, but it gets a bit overwhelming when you have a lot pages. I didn't want to define a url pattern for each page, so I wrote a system to handle it. With this system I never have to write a single url pattern, or even an explicit URL.
First we add to our urls.py the pattern:
(r'^(?P<page>.+?)/(?P<path>.*?)/?$', 'website.site.views.static_page')
Now we define the actual view; take note this depends on a dictionary of lists called pages:
def static_page(request, path, page):
if not path and page in pages:
template = ''.join((page,"/index.html"))
elif page in pages and path in pages[page]:
template = ''.join((page, "/", path, ".html"))
else:
raise Http404
return render_to_response ...

