Как создать статический.html с помощью Python
Я ищу решение на python для создания статического.html, который может быть отправлен по электронной почте, либо прикреплен, либо встроен в электронное письмо (игнорируйте этот последний вариант, если он требует намного больше работы). У меня нет требований к тому, что касается макета.html. Основное внимание здесь уделяется поиску менее болезненного решения для создания автономного.html.
Потенциальное решение может быть в соответствии со следующим псевдокодом.
from some_unknown_pkg import StaticHTML
# Initialise instance
newsletter = StaticHTML()
# Append charts, tables and text to blank newsletter.
newsletter.append(text_here)
newsletter.append(interactive_chart_generated_with_plotly)
newsletter.append(more_text_here)
newsletter.append(a_png_file_loaded_from_local_pc)
# Save newsletter to .html, ready to be sent out.
newsletter.save_to_html('newsletter.html')
куда 'newsletter.html'
может быть открыт в любом браузере. Просто чтобы предоставить немного больше контекста, этот.html должен быть разослан нескольким избранным сотрудникам моей компании и содержит разумные данные. Я использую plotly для создания интерактивных диаграмм для вставки в.html.
2 ответа
Возможное решение здесь
Кажется, пакет в этом ответе именно то, что вы хотите. Документы: http://www.yattag.org/
Еще один довольно хороший пакет здесь.
Запустите свой модуль Python с помощью импорта sys
модуль и перенаправить стандартный вывод на newsletter.html
import sys
sys.stdout = open('newsletter.html','w')
Это перенаправит любой вывод, сгенерированный в HTML-файл. Теперь просто используйте print
Команда в Python для передачи тегов HTML в файл. Например, попробуйте:
print "<html>"
print "<p> This is my NewsLetter </p>"
print "</html>"
Этот фрагмент кода создаст основной файл HTML. Теперь вы можете открыть этот файл в любом браузере. Для отправки электронной почты вы можете использовать email
а также smtplib
модули питона.
Пакет Dominate выглядит так, как будто он предоставляет простой и интуитивно понятный способ создания HTML-страниц. https://www.yattag.org/
У меня была точно такая же проблема, и я не смог найти простой пакет Python, поэтому я создал свой собственный:
https://github.com/ar-nowaczynski/htmlcreator
Для python >= 3.6:
pip install htmlcreator
Пример:
from htmlcreator import HTMLDocument
document = HTMLDocument()
document.set_title('my title')
document.add_header('section 1')
document.add_text('my text')
document.add_header('section 2')
document.add_image('/path/to/image.jpg') # images are fully embedded inside
document.write('my_document.html') # standalone file
Полный пример здесь: https://github.com/ar-nowaczynski/htmlcreator/blob/master/examples/1_build_first_document.py
Пример предварительного просмотра файла: https://htmlpreview.github.io/?https://github.com/ar-nowaczynski/htmlcreator/blob/master/examples/1_first_document.html