В моторе апи почти такое же, как и в pymongo. Различия описаны
тут. Неужели добавить в местах обращения к базе
yield from так трудно?
UPD. Извиняюсь, ошибочка вышла.
yield from - это новый синтаксис для написания асинхронного кода, введённый в питон 3.3. В торнадо используется просто
yield. Хотя использовать новый синтаксис в торнадо очень легко: вместо торнадовского декоратора
@tornado.gen.coroutine следует оборачивать методы в декоратор
@asyncio.coroutine, вместо
yield писать
yield from и надо настроить торнадовский IOLoop на новый IOLoop из модуля asyncio.
Как правильно рендерить html
Так же, как и всегда. Вся прелесть декоратора корутины и yield в том, что код выходит как будто написанный в привычном синхронном стиле. Просто передавай твой результат шаблону, при рендере этот результат-генератор "раскроется" во что нужно.
Однако, я не уверен, что для чата надо использовать рендер шаблонов: по-хорошему надо отправлять сообщения через вебсокеты, на клиенте принимать их и рисовать сообщения яваскриптом.