может `.replace("\n", "<br>").replace("\t", "!")` тоже в какую-нибудь функцию вынести, как с `format_exception`?