Just a few comments... Database: As with anything else, try to keep it simple until you need to make it complex. Sqlite is the simplier alternative, and it's also the fastest for the intended use (small number of users, simple selects, etc). MySQL is also a very good alternative and much more powerful.
Mod_python: Mod_python is the best choice (AFAIK, please correct me if I'm wrong) if you want speed, performance and scalability. Many frameworks are based on mod_python (Django, for example), so you can't go wrong with it. But let me tell you that if you just want to use bare-bones mod_python, without any framework on top of it, you can do it, and it's not difficult at all. Mod_python comes with its own implementation of PSP (python server pages), which lets you program a la PHP (intermingling python and html). If you want, you can also separate logic and presentation by using its "publisher handle" along with PSP templates. If you prefer other kinds of templetaing system, you can use them too (for example Cheetah). For a long time I steered away of mod_python because I had the impression it was too difficult and not user friendly enough, what once I tried and followed the examples in the documentation, I found it to be a very good alternative. And the community on its mailing list is very kind and supportive. They reply any question in a matter of minutes. -- http://mail.python.org/mailman/listinfo/python-list