Add the following after your URLConf. It is written as it is so that it can be easily added after any definition for serving static media: from www.views import default # Update this as appropriate. # Load the default handler last. This will try to locate any templates # on the file system as a last ditch effort. urlpatterns += patterns('', # Pages to load directly from the file system. (r'^(?P.*)$', default), ) Then add the following to your view: from django.template import Context, loader from django.http import HttpResponse, HttpResponseNotFound def default(request, template_name): try: t = loader.get_template(template_name) c = Context() response = HttpResponse(t.render(c)) return response except: return HttpResponseNotFound('Page Not Found')