Более длинный - можно прикрутить Map/Reduce. У него есть несколько опций вывода, которые можно заставить писать нужные вам данные в нужную коллекцию. Получается такой себе materialized view эмулятор. Только, конечно, с большой-большой избыточностью.
Лучше всего рендерить подобные штуки не на стороне сервера, а на стороне клиента. Я использую для этого mathjax.
Тогда вы вводите формулы в привычном LaTeX формате в удобном для вас редакторе, будь то markdown или raw-текст (формочка в админке Django), а на клиенте (в браузере) всё отрисовывается. (Вот, например, как это выглядет: cherrypiethoughts.com/from-2-to-infinity.html )
Перегрузите __unicode__ (для py2) или __str__ (для py3) в базовом классе и выводите то, что вам вздумается.
А вообще любая debug tool для питона позволяет посмотреть внутрь самого объекта.
1) Делать проверку в subproccess, а не в основном потоке, и сделать callback, если файлик появился. Это общее решение.
2) Воспользоваться https://pypi.python.org/pypi/watchdog или в том же subproccess или в threading. При порождении нового процесса сложнее обмениваться сообщениями, надо делать какой-то общий спейс. В тредами - удобнее, но там не приходится говорить о "честных" тредах.
Для начала почитать, что такое интерпретатор, как ставить либы и пакеты (см. ответ orgkhnargh), что такое virtualenv, написать проект в каком-то блокноте++ или sublime text 3, а потом открывать навороченные IDE типа PyCharm.