API 参考
Purepy 提供了完整的 HTML、SVG 和 XML 标签支持,以及实用的工具函数。
核心模块
HTML 标签
python
from pure.html import div, h1, p, a, img, button, input, form所有 HTML5 标签都可以通过 pure.html 模块导入。
SVG 标签
python
from pure.svg import svg, circle, rect, path, g完整的 SVG 标签支持,用于创建矢量图形。
XML 标签
python
from pure.core.XML import XML动态 XML 标签创建,支持任意标签名。
工具函数
python
from pure.clx import clx
from pure.sty import sty
from pure.raw import Raw
# 使用工具函数
classes = clx('btn', {'active': is_active, 'primary': is_primary})
styles = sty({'color': 'red', 'font-size': '16px'})
raw_content = Raw('<strong>粗体文本</strong>')
# 在元素中使用
div('内容') \
.class_name(classes) \
.style(styles) \
.to_print()基本用法
创建元素
python
from pure.html import div, h1, p
# 创建基本元素
element = div(
h1('标题'),
p('段落内容')
)设置属性
python
from pure.html import div
from pure.sty import sty
element = div('内容') \
.class_name('container') \
.id('main') \
.style(sty({'color': 'red'})) \
.data_id('123')输出 HTML
python
# 转换为字符串
html_string = str(element)
# 直接打印
element.to_print()
# 保存到文件(HTML 元素)
from pure.html import html, head, title, body
page = html(
head(title('页面标题')),
body(element)
)
# 注意:Purepy 目前不支持 to_save 方法,需要手动保存
with open('output.html', 'w', encoding='utf-8') as f:
f.write(str(page))常用标签
文档结构
html()- HTML 文档根元素head()- 文档头部body()- 文档主体meta()- 元数据title()- 文档标题link()- 外部资源链接style()- 内联样式
文本内容
h1(),h2(),h3(),h4(),h5(),h6()- 标题p()- 段落span()- 内联文本div()- 块级容器a()- 链接strong(),em()- 强调文本
列表
ul()- 无序列表ol()- 有序列表li()- 列表项dl()- 定义列表dt()- 定义术语dd()- 定义描述
表格
table()- 表格thead()- 表头tbody()- 表体tr()- 表格行th()- 表头单元格td()- 表格单元格
表单
form()- 表单input()- 输入框textarea()- 文本域select()- 下拉选择option()- 选项button()- 按钮label()- 标签
媒体
img()- 图片video()- 视频audio()- 音频source()- 媒体源
属性方法
通用属性
.id(value)- 设置 ID.class_name(*values)- 设置 CSS 类.style(value)- 设置样式.title(value)- 设置标题.lang(value)- 设置语言
数据属性
.data_*(value)- 设置数据属性(如.data_id('123'))
事件属性
.onclick(value)- 点击事件.onchange(value)- 变化事件.onsubmit(value)- 提交事件.onload(value)- 加载事件
表单属性
.type(value)- 输入类型.name(value)- 表单名称.value(value)- 表单值.placeholder(value)- 占位符.required()- 必填.disabled()- 禁用
链接属性
.href(value)- 链接地址.target(value)- 打开方式
媒体属性
.src(value)- 资源地址.alt(value)- 替代文本.width(value)- 宽度.height(value)- 高度
工具函数详解
clx() - 类名合并
python
from pure.clx import clx
# 基本用法
classes = clx('btn', 'btn-primary') # "btn btn-primary"
# 条件类名
is_active = True
classes = clx('btn', is_active and 'active') # "btn active"
# 过滤空值
classes = clx('btn', None, 'primary', '') # "btn primary"sty() - 样式处理
python
from pure.sty import sty
# 字典样式
styles = sty({
'color': 'red',
'font-size': '16px',
'background-color': '#f0f0f0'
}) # "color: red; font-size: 16px; background-color: #f0f0f0;"
# 字符串样式
styles = sty('color: red; font-size: 16px;') # 原样返回raw_html() - 原始 HTML
python
from pure.raw import raw_html
# 插入原始 HTML
raw = raw_html('<strong>粗体文本</strong>')
div(
p('普通文本'),
raw,
p('更多文本')
).to_print()