T() is for text translations and I'm not sure you can use it (or would want
to) with non-static text.
That dict() looks a little messy. For one thing, you can simply include
blogs=blogs. Some of those things I would put in the view instead
(MARKMIN(().xml(), URL('blog_show')). Also, since views are typically linked
to one controller, you would not ordinarily pass hard-coded text to the
view. And request.now is available in the view.
I would expect to see a controller like this:
def blog_feed():
blogs = db().select(db.blog.ALL, orderby = db.blog.title)
return(blogs=blogs)
And then the view blog_feed.html something like this (not tested):
{{extend layout.html}}
<h2>Blog Feed</h2>
<a href="{{=URL(c='main', f='blog')}}">Home</a>
<p>Blog RSS Feed - created on {{=request.now}}</p>
<ul>
{{for blog in blogs:}}
<li><a href="{{=URL('blog_show')}}">{{=blog.title}}</a> - created on
{{=blog.created_on}}<br>
{{=MARKMIN(blog.content).xml()}}</li>
{{pass}}
</ul>
I would definitely suggest going through Chapter 3 of the
book: http://web2py.com/book/default/chapter/03