Существует много языков программирования, которые можно использовать для создания веб-страниц: HTML, HTML5, JavaScript, PHP и так далее. А Python? Очевидно, да, так как веб-сервер MicroWebSrv – в основном предназначен для платформ ESP32, которые работаю под управлением MicroPython, поскольку платы Pycom – поддерживают вставку Python кода внутрь файлов “HTML” с расширением .pyhtml.

Код можно найти на Github и состоит только из трех файлов:
- microWebSrv.py – Веб-сервер
- microWebSocket.py – Дополнительная поддержка WebSockets
- microWebTemplate.py – Дополнительный язык шаблонов для .pyhtml рендеринга страниц
Помимо файлов HTML / Python, веб-сервер может обрабатывать запросы GET, POST и так далее, встроенный полный REST API, обработчики маршрутизации, WebSockets и т.д…
Вот как выглядит смешанный HTML + Python файл .pyhtml:
<html>
<head>
<title>TEST PYHTML</title>
</head>
<body>
<h1>BEGIN</h1>
{{ py }}
def _testFunction(x) :
return "IN TEST FUNCTION %s" % x
{{ end }}
<div style="background-color: black; color: white;">
{{ for toto in range(3) }}
This is an HTML test...<br />
TOTO = {{ toto + 1 }} !<br />
{{ for toto2 in range(3) }}
TOTO2 = {{ _testFunction(toto2) }}
{{ end }}
Ok good.<br />
{{ end }}
</div>
{{ _testFunction(100) }}<br />
<br />
{{ if 2+5 < 3 }}
IN IF (1)
{{ elif 10+15 != 25 }}
IN ELIF (2)
{{ elif 10+15 == 25 }}
IN ELIF (3)
{{ else }}
IN ELSE (4)
{{ end }}
</body>
</html>
Можно использовать двойные фигурные скобки {{ and }} для вставки кода MicroPython, операторов if, циклов или включения.
Нет уверенности, что это имеет смысл для всех платформ, но например, если ваша плата ограничена ресурсами и уже запускает прошивку MicroPython и у нее уже есть интерпретатор Pythonit, и вы можете обойтись без дополнительной оперативной памяти и хранилища для интерпретатора JavaScript.
Выражаем свою благодарность источнику с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.
