Disclaimer: I deploy Django sites on "current" releases, not LTS. I'm sure I don't do everything perfectly but here's my opinion on the matter.
There's a lot of faith in LTS releases but the rules/benefits don't quite apply to Python stacks.
I say this because keeping your python stack bound to a repository with its own updates can mean disaster when it comes to dist-upgrading. Versions jump so far that it's a lot harder to track down things have have been both deprecated and deleted from Django before you've seen the first deprecation notice.
You'll also get ferociously very fed up with the version of Django that comes with Lucid after a time. It won't support the production-ready features Django will have then so you'll want to install from outside the repositories.
It lets you keep multiple, fairly static virtual environment python stacks around. This means you can have a websites on old versions of things, other websites on other versions in another stack, test updates on new stacks, etc. It's a powerful concept but you need to keep on top of the versions as you don't have a package manager holding your hand for security updates.
If you're looking for the best of both worlds, use the latest versions. Before you upgrade to the next level, dump an image, copy to a local virtual machine, boot it up, upgrade packages, test your sites and fix anything that needs fixing. You have to spend some time keeping things stable at package level and you have to maintain your code occasionally...
As far as "flavor" goes, you want the server install, not desktop.
ubuntu-desktop includes a whole load of flange you just don't want on a production server.
You can also get a "minimal" install which has barely anything on it. I've started from both but I had to install the
ubuntu-standard package to be comfortable. This turns it into a basic