Создание HTML иногда может быть утомительной задачей, трудной для отладки и подверженной ошибкам. Способ решить эту проблему — использовать некоторую библиотеку, которая может позаботиться об открытии и закрытии div и т.д., Что может снизить вероятность ошибок. Для этого мы воспользуемся модулем tinyhtml.
Этот модуль предоставляет набор классов, полезных для рендеринга HTML5 с использованием кода Python, и позволяет группировать несколько тегов HTML вместе. Он также помогает публиковать необработанный HTML-код без экранирования, обеспечивая функциональность цикла или преобразования типов с помощью построителей.
Installation
Чтобы установить этот модуль, введите в терминале следующую команду.
pip install tinyhtml
Используемые функции
- html ():отмечает начало HTML-кода.
- h (): большая часть служебных функций, позволяющая отображать атрибуты, обычные элементы и пустые / самозакрывающиеся элементы.
- raw (): используется для печати неэкранированных строк HTML.
- frag (): группирует несколько тегов HTML вместе.
- render (): обрабатывает и преобразует входной html.
Пример 1:
from
tinyhtml
import
html, h
# Constructing HTML using html() and h()
# nested h() is also supported
html_content
=
html(lang
=
"en"
)(
h(
"head"
)(
(h(
"h1"
)(
"hello Geeks!!"
)),
),
).render()
# printing html formed on console.
(html_content)
Выход:
Пример 2: Использование raw () и frag ()
from
tinyhtml
import
html, h, frag, raw
# using frag() to group to h fncs.
(
"Working of frag() : "
)
html_content
=
html(lang
=
"en"
)(
frag(h(
"h1"
)(
"Welcome to GFG"
), h(
"p"
)("This\
is
one among best ever coding site you've been\
to.."))).render()
(html_content)
(
"\n"
)
# prints raw unescaped HTML.
(
"The unescaped HTML raw content : "
)
(raw('<h1>Printing Raw HTML<
/
h1>
<p> Dont escape <<>>>> <
/
p>
'))
Выход :
Пример 3: Использование классов и меток как HTML
В этом, мы используем » Klass » оператор для инициализации класса. А для других меток, которые могут совпадать с именами зарезервированных ключевых слов Python, добавляется завершающее подчеркивание.
from
tinyhtml
import
h
# using klass to initialize class
(
"Working with Class : "
)
class_inp
=
h(
"div"
, klass
=
"gfg"
)()
(class_inp)
# using _ to escape for loop operator
(
"Working with label and escaping keyword : "
)
label_inp
=
h(
"label"
, for_
=
"geeksforgeeks"
)(
"GFG"
)
(label_inp)
Выход :
Пример 4: Работа с циклом и условными операторами
Визуализация HTML-содержимого, для которого требуются циклы, такие как элементы списка и условные выражения, также возможна с помощью базовых циклов и условных операторов Python.
from
tinyhtml
import
h
# initializing loop elements
(
"Using loop elements : "
)
looped_element
=
h(
"ul"
)(h(
"li"
)(idx)
for
idx
in
range
(
5
))
(looped_element)
(
"\n"
)
# using conditionals
(
"Using conditional elements : "
)
conditional_element
=
h(
"ul"
)(
h(
"li"
)(
"Gfg"
)
if
False
else
"GFG"
, h(
"li"
)(
"Geeks"
))
(conditional_element)
Выход :
Пример 5: Шаблоны HTML с помощью функций
from
tinyhtml
import
h, html, frag
# function to create layout.
# advantage is that this can be reused.
def
create_layout(title, body):
return
html()(
h(
"head"
)(
h(
"title"
)(title),
),
h(
"body"
)(body)
)
# calling function to create layout.
layout
=
create_layout(
"Gfg Templating"
, frag(
h(
"h1"
)(
"Demo Heading"
),
h(
"p"
)(
"Making fragment to demo templating layout"
),
))
(
"Created layout : "
)
(layout)
Выход :