web2py вставить ‹link rel=canonical› в заголовок

Как в web2py из представления вставить ссылку ‹link rel="canonical" href="..."› в заголовок страницы. Я знаю, что могу добавить тег ссылки с rel="stylesheet", используя, например. {{response.files.append(URL('static','css/base.css'))}}. Есть ли эквивалент для rel="canonical"?


person user2667066    schedule 25.08.2016    source источник


Ответы (1)


Один из вариантов — создать блок в разделе заголовка представления layout.html:

{{block canonical}}{{end}}

Затем в любом представлении, где вы хотите установить каноническую ссылку:

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

Более простым вариантом было бы включить в заголовок layout.html следующее:

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

Затем в любом месте файла модели или контроллера вы можете сделать:

response.canonical = '...'
person Anthony    schedule 25.08.2016
comment
буду делать второй. Спасибо. - person user2667066; 26.08.2016
comment
второй метод должен заканчиваться на {{pass}}, а не на {{end}} - person laviex; 17.01.2021
comment
Починил это. Спасибо. - person Anthony; 18.01.2021