基于这个问题:
Django 中的对象 html 表示
是否有任何简单的方法来使用对象表示创建
html
输出并强调纯代码和简单性?例如,创建由这些对象组合创建的表单:
html
、body
、div
、form
、select
、input
、a
、img
我的使用思路如下:
html = ModuleTags.Html()
body = ModuleTags.Body()
html.addBody(body)
div = ModuleTags.Div()
body.addDiv(div)
form = ModuleTags.Form()
div.addForm(form)
select = ModuleTags.Select()
select.addOption("one", "value_one")
form.addSelect(select)
input = ModuleTags.Input()
input.checkbox("vaule", "name", True)
form.addInput(input)
...
a = ModuleTags.A()
a.href("url")
img = ModuleTags.Img()
img.src("url")
...
print(html)
输出如下:
<html>
<body>
<div>
<form>
<select>
<option value="value_one">one
</select>
<input type="checkbox" checked name="name" value="value">
</form>
</div>
</body>
</html>
(不需要空格的距离。)
面向对象表示中的每个 html 标签已经有一个(简单的)模板
class Form:, class Div: ...
?谢谢
我认为Chope在这里做的正是你想要的。
举个例子:
from chope import *
page = html[
body[
div[
form[
select[
option(value='value_one')['one']
],
input(type="checkbox", checked=True, name="name", value="value")
]
]
]
]