The layout also include a <body> section, does this mean that in my custom
> view I shouldn't have another <body> section such that I should just write
> all the custom html content without <body></body> tags?
>
Right, you don't need a body tag in the view either. In layout.html, there
should be an {{include}} -- that gets replaced with the entire contents of
the view that extends the layout. See the /views/default/index.html view of
the "welcome" app for an example.
> Another thought, can I add page-specific files for the view in the
> corresponding controller action, e.g.
>
> def myaction():
> response.files.append(URL('static','css/page_specific_css_1.css'))
> response.files.append(URL('static','css/page_specific_css_2.css'))
>
> # rest of the action
> ...
>
> Would this be enough? If so, how does this compare with the two options
> you've proposed below?
>
Yes, that's fine too. Just a matter of preference. Since the CSS relates to
the presentation, some would argue references to it belongs in the views.
> Regarding my other question about Recaptcha support, how should I embed
> and customize it in my custom view? Thanks very much!
>
I don't use reCAPTCHA, so don't have any special insights. Have you read
the book
section<http://web2py.com/books/default/chapter/29/9#CAPTCHA-and-reCAPTCHA>?
Looks like it shouldn't be too difficult to add to a form.
Anthony