About a year ago, I did a lot of noodling about with Mason, a Perl based templating system that has a lot of neat features. Like JSP, Mason compiles pages into executable code, Perl, and then runs the code to handle responses. Perl code can be easily embedded into templates, templates have a sophisticated inheritance mechanism, you can actually get at internal request data structures, and you don't have to restart the server to see changes to the templates. The only downside is that installation is not for the feint of heart. I also found Mason to be somewhat finicky if used with mod_perl, occasional hard to track down crashes and all that.
Having moved to Python, I've kicked the tires on a few page templating systems. Suffice it to say I was left pining for Mason, although Quixote is quite nicely Pythonic.
Enter Michael Bayer's Myghty, a knockoff of Mason in Python. Right now I'm giving it a test drive, and it feels pretty nice. Combined with mod_python it looks like you can have Python, flexible templating, access to server and protocol internals, and high performance all in one.