Бэкенд электронной почты на основе файлов Django
Возможно, это что-то очень очевидное, но я не могу понять.
Этот фрагмент взят из бэкенда электронной почты Django на основе файлов (django.core.mail.backends.filebased.py)
def write_message(self, message):
self.stream.write(message.message().as_bytes() + b"\n")
Мой вопрос заключается в следующем. Как я могу узнать, объектом какого класса является message?
Контекст для почему: Мой код отправляет электронные письма по различным путям выполнения. Я хочу использовать бэкенд Django, основанный на файлах, вместо того, чтобы отправлять живые письма во время отладки и модульного тестирования ( или создать собственную систему, основанную на файлах). Соответствующий код в настоящее время имеет объект MIMEMultipart ( с текстом в кодировке utf-8), который отлично работает для производства. Мне нужно иметь возможность преобразовать его в объект, который может быть напечатан разборчиво с помощью приведенного выше фрагмента.
PS: Я родом из C++, где на этот вопрос было бы легко ответить.
вы можете использовать встроенную функцию типов python
type(obj)
или если вы хотите проверить, является ли он экземпляром определенного объекта, используйте функцию isinstance
if isinstance(obj, Obj_Class):
# do something