Web2py - 在视图中设置标题和元标记

Web2py - Setting Title & Meta Tags in Views

我正在尝试为我的每个视图设置唯一的标题和元标记。如果我在视图顶部以下列方式设置标签...

{{
response.title='My Product view'
response.meta.keywords='phones,calls,smartphone'
response.meta.description='This is a phone seller site made with web2py'
response.meta.author='me'
}}

{{extend 'layout.html'}} 

...标签似乎设置正确,但 title 标签除外。如果我检查头部,标题标签不会出现。

如果我按以下方式设置标签,有或没有 head 标签...

<head>
<title>My Product view</title>
<meta name="description" content='This is a phone seller site made with web2py'>
<meta name="keywords" content='phones,calls,smartphone'>
<meta name="author" content='me'>
</head> 

{{extend 'layout.html'}} 

...标签似乎工作正常,包括标题标签,但我所有的表单输入都丢失了 20 像素的高度。

有谁知道我为什么会遇到这种情况?在视图中设置这些项目的最佳方式是什么?

首先,不要在 {{extend 'layout.html'}} 之前放置任何 HTML,因为 extend 之前的任何内容都会被插入到 [=28= 中的 HTML 开头之前],它本身以开始的 <html><head> 标签开始(因此,您的示例在文档的开始 <html> 标签之前插入了整个 <head> 部分,然后包括另一个 <head> 部分)。

设置 response.title 应该没问题。但是,您的 'layout.html' 必须在 <head> 部分包含如下内容:

<title>{{=response.title}}</title>

脚手架应用程序的 'layout.html' 包含一个 similar line(如果没有 response.title,则有回退)。