如何在Mako模板的命名块中添加属性及属性值
Mako模板meta命名块实现方法
Mako的<%block>是供模板引擎识别的块定义标识,标签上的属性仅用于Mako内部解析逻辑,不会直接渲染为最终输出的HTML属性,要实现目标meta标签效果,直接把完整HTML标签写在块标签包裹的内部即可。
静态固定内容的写法:
<%block name="meta"> <meta name="description" content="Sample Content"> </%block>
模板渲染后就会输出你需要的标准meta标签。
如果需要动态设置content属性值,用Mako自带的${}变量插值语法即可,比如后端传入了存储页面描述的page_description变量,写法如下:
<%block name="meta"> <meta name="description" content="${page_description}"> </%block>
如果是模板继承场景,父模板预先定义了名为meta的块,子模板只需写同名块、填入对应meta内容,渲染时就会自动覆盖父模板对应块的输出内容。
注意:不要把HTML的name、content这类前端属性写在
<%block>开标签上,这类属性不会被Mako识别为待输出内容,只会被当成块的配置参数处理,容易触发模板解析报错。
内容的提问来源于stack exchange,提问作者T Ravi Theja
相关产品推荐
相关产品推荐

