web.py中跨多个页面的相同模板

时间:2013-03-28 19:52:33

标签: python web.py pythonanywhere

我很难理解如何在多个页面上使用相同的模板进行网站布局(请不要只是将我链接到Web.Py页面上的'site layout cookbook'。它只使用跨越的模板单页,我已经可以做了。)

我的代码在下面,对我来说很有意义,但我想知道我做错了什么。我是新手,所以我确定我做的事情非常愚蠢。

我得到的错误是:

<type 'exceptions.AttributeError'> at /vip
'title'

main.py

#coding=utf-8

import web
urls = (
    '/', 'index',
    '/vip', 'vip'
)

render = web.template.render('templates')

class pagedata:
    def __init__(self, title, description, downloadlink):
        self.title = title
        self.description = description
        self.downloadlink = downloadlink

class index:
    def GET(self):
        pageinfo = pagedata("Demo", "Demo description", "http://www.google.com")
        return render.index(pageinfo)
class vip:
    def GET(self):
        pageinfo = pagedata("Demo2", "Demo description2", "http://www.yahoo.com")
        return render.index(pageinfo)

app = web.application(urls, globals())
application = app.wsgifunc()

模板/ index.html中

$def with (pageinfo)

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />    
        <title>$pageinfo.title</title>
        <link rel="stylesheet" href="default.css" />
    </head>
    <body>
        <p>$pageinfo.description</p>
        <p><a href="$pageinfo.downloadlink">$pageinfo.downloadlink</a></p>
    </body>
</html>

1 个答案:

答案 0 :(得分:0)

我是个白痴。请关闭这个问题。

我需要做的是重新构建代码以呈现单独的模板,而不是重用索引,然后设置&#39; base&#39;元素到我的布局模板。