htmforge.core.element
htmforge.core.element.Element(tag, *children, **attrs)
Repräsentiert einen einzelnen HTML-Tag mit Kindern und Attributen.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
tag
|
str
|
Der HTML-Tag-Name (z.B. |
required |
*children
|
Child
|
Beliebig viele Kind-Elemente ( |
()
|
**attrs
|
object
|
HTML-Attribute als Keyword-Argumente. |
{}
|
Attribute-Konventionen
clswird zuclassim HTML.for_wird zuforim HTML.- Unterstriche innerhalb von Attribut-Namen werden zu Bindestrichen
konvertiert (
hx_get→hx-get,data_id→data-id). - Boolesche Attribute (
True) werden als eigenständige Flags gerendert (disabled,checked...). - Attribute mit Wert
FalseoderNonewerden weggelassen.
Example
el = Element("div", Element("span", "Hallo"), cls="container") el.to_html() '
Hallo'
Initialisiert ein Element mit Tag-Name, Kindern und Attributen.
Source code in htmforge/core/element.py
__eq__(other)
Vergleicht zwei Elemente anhand ihres gerenderten HTML.
Example
div("a") == div("a") True div("a") == div("b") False
Source code in htmforge/core/element.py
__hash__()
__repr__()
__str__()
to_html()
Rendert das Element rekursiv zu einem sicheren HTML-String.
Alle Text-Inhalte werden durch markupsafe.escape gesichert, damit
kein unbeabsichtigtes HTML injiziert werden kann.
Returns:
| Type | Description |
|---|---|
str
|
Ein vollständiger, wohlgeformter HTML-String. |
Source code in htmforge/core/element.py
htmforge.core.element.safe_html(text)
Markiert einen String als sicheres HTML — verhindert doppeltes Escaping.
Nützlich wenn der Text bereits valides HTML enthält (z.B. aus einer Datenbank) und nicht erneut escaped werden soll.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
text
|
str
|
Ein String der bereits HTML enthält. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Ein |
Markup
|
class: |
Markup
|
nicht nochmals escaped wird. |
Example
from htmforge.elements import div from htmforge.core.element import safe_html div(safe_html("fett")).to_html() '
fett'