我是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。我怎么能绕过这个?
答案 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”函数的定义。