web2py 将 <link rel=canonical> 插入 header

web2py insert <link rel=canonical> into header

在 web2py 中,如何从视图中插入 link 到 header 的页面。我知道我可以使用 rel="stylesheet" 添加一个 link 标签,例如{{response.files.append(URL('static','css/base.css'))}}。是否有 rel="canonical" 的等价物?

一个选项是在 layout.html 视图的头部创建一个块:

{{block canonical}}{{end}}

然后在任何要设置规范的视图中 link:

{{block canonical}}
<link rel="canonical" href="...">
{{end}}

一个更简单的选择是在 layout.html 的头部包含以下内容:

{{if response.canonical:}}
<link rel="canonical" href="{{=response.canonical}}">
{{pass}}

然后您可以在模型或控制器文件中的任何位置执行以下操作:

response.canonical = '...'