1. People don't want to bother proof-reading both the HTML & text version, so if they're kept separate, people will just update the HTML version and the text verison will get stale.
2. People don't want to learn Markdown (or ReST/etc) to render HTML from text.
3. Even if they did, the result quickly becomes strange and difficult to read in-text if you want fancy formatting.
4. On top of that, templating is troublesome for anything not html/text. Escaping requires special support that Django doesn't have.
The only effective solutions I could think of are are a) don't provide a text version b) automatiatically generate the text version from the HTML version. I ended up picking b, and it worked okay, though it's still easy to fool it with bad HTML (like an image with a non-sensical alt value).