以pythonic方式生成html或xml。纯Python替代Web模板引擎。可以用默认值和错误消息填充HTML表单。
yattag的Python项目详细描述
当您可以用python以非常可读的方式生成html或xml文档时,为什么要使用模板引擎?
(关于yattag.org的完整教程)
基本示例
嵌套HTML标记,无需关闭标记。
fromyattagimportDocdoc,tag,text=Doc().tagtext()withtag('html'):withtag('body',id='hello'):withtag('h1'):text('Hello world!')print(doc.getvalue())
HTML表单呈现
yattag可以用默认值和错误消息填充html表单。 将默认值的defaults字典和错误消息的errors字典传递给Doc构造函数。 然后,在生成文档时使用特殊的input、textarea、select、option方法。
默认值
的示例fromyattagimportDocdoc,tag,text=Doc(defaults={'ingredient':['chocolate','coffee']}).tagtext()withtag('form',action=""):withtag('label'):text("Select one or more ingredients")withdoc.select(name='ingredient',multiple="multiple"):forvalue,descriptionin(("chocolate","Dark chocolate"),("almonds","Roasted almonds"),("honey","Acacia honey"),("coffee","Ethiopian coffee")):withdoc.option(value=value):text(description)doc.stag('input',type="submit",value="Validate")print(doc.getvalue())
具有默认值和错误的示例
fromyattagimportDocdoc,tag,text=Doc(defaults={'title':'Untitled','contact_message':'You just won the lottery!'},errors={'contact_message':'Your message looks like spam.'}).tagtext()withtag('h1'):text('Contact form')withtag('form',action=""):doc.input(name='title',type='text')withdoc.textarea(name='contact_message'):passdoc.stag('input',type='submit',value='Send my message')print(doc.getvalue())的完整教程