Web.py如何在这种情况下访问render函数

时间:2011-07-25 02:58:42

标签: python web.py

我是Python和Web.py的新手,但我正在解决这个问题。我有一个代码布局,我的网站根目录中有app.py文件。所有页面都在一个名为pages的子导演中。这是我的app.py代码

import web
import page.index

urls = (
    '/', 'page.index.index',
)

render = web.template.render('templates/', base = "layout") # Start the template 
app = web.application(urls, globals()) # Start the app

if __name__ == "__main__":
    app.run()

现在,它完美地执行。现在,在index.py文件中,这是我的代码:

class index:
    def GET(self):
        testing = 'Hello World'
        return render.index(testing)

我得到的错误是:

<type 'exceptions.NameError'> at /
global name 'render' is not defined
Python  /Volumes/Local Disk 2/Work/Casting Board/com/index.py in GET, line 3
Web     GET http://127.0.0.1:8080/

基本上,我试图访问该函数(或者它是方法或类。只是来自PHP,所以不知道最终的)render来自名为page.index的moucle。我怎么能绕过这个?

3 个答案:

答案 0 :(得分:1)

在index.py页面中,您应该包含from web.template import render吗?

答案 1 :(得分:1)

假设web.template.render()返回包含index()方法的对象(我不熟悉web.py),您需要告诉Python在哪里找到此对象

index.py

import app

然后:

    return app.render.index(testing)

答案 2 :(得分:1)

您可以在app.py文件中包含索引类(index.py)。然后导入Web模块将在代码的开头引入“render”函数的定义。