YPKnox.com: Knoxville's newest Django site
The launch of the redesigned and retooled Young Professionals of Knoxville Web site brings yet another Django site online for the city of the Sunsphere.
It also marks my third Django project -- the others being this site and Knox'd -- since I began learning the vaunted Python framework nearly two years ago.
The new redesigned, redeveloped Young Professionals of Knoxville Web site is my third and latest Django project to go live.
What I learned
Building the new YPK Web site was a challenge in several ways. Here are some specific problems I encountered:
- How to filter out expired events in specific views, but make the permalinks available for bookmarks and search engines.
- How to only show "live" press releases, as opposed to press releases being edited.
- How to pass in more objects into generic views.
- How to improve the site performance by writing more efficient database queries and text-to-HTML rendering.
The solutions for these problems were documented in a previous blog entry titled "'Practical' tips for working with Django."
Also, I must again credit James Bennett for publishing his wonderful book Practical Django Projects without which I would probably still be hunting down information (or bugging the developers at work).
Site features
The new YPK Web site isn't that extraordinary. But it does feature some useful ways of delivering information. Here are the various features available:
- Press releases containing the latest news from YPK (archived by year, month and day)
- Upcoming events for YPK (archived by year, month and day)
- Featured event with photo
- Locations for events with detail, list pages
- YPK recommended links
- Categories that tie together press releases, events and links
- Contact form protected against Spam by Akismet
- Syndication feeds for events, press releases and a combination of the two
- Automatically generated sitemap
- Static pages stored in the database (Django "flatpages")
- A content management system for managing all of the data
I also added special consideration for search engine optimization such as optional meta keywords and descriptions for press releases, events, locations and categories. This, in addition to Django's clean URLs and infinitely flexible templates, so make YPK content very findable.
So if you're a young professional living and working in Knoxville, please visit the site to see what this fantastic group has to offer.
And if you have any questions about how this Django site came together, please post a comment or contact me directly.

Two comments
Fantastic work @patrick. The design looks very clean and acessible. The events url are designed to work with date which appears to be in future. Did you enable allow_future for this?
@Yashh
Thanks for the compliment!
I should add that one of the founders of YPK, Casey Peters, did the design. My job was to take his Photoshop comps, and build out the CMS, templates, CSS and HTML.
The events were a little tricky because I didn't want to promote expired events in the archives, but did want to allow them to be viewed via the detail page.
I solved this problem by using
'allow_future': True,in my URLs for all event views, but restricting all but the event detail view to events that were equal to, or less than the current day.Comments no longer accepted for this entry.
To prevent spam, comments are no longer allowed after 60 days.