web.py未检测到GET方法
我刚接触Python和web.py这两个领域,还是个新手。
我刚创建了三个文件:
urls.py
url_mappings = (
'/', 'index'
)
index.py
class index:
def GET(self):
return "<h1>Hello World</h1>"
def POST (self):
return "<h1>Hello World in POST</h1>"
webstart.py
import web
import index
from urls import url_mappings
if __name__ == "__main__":
app = web.application (url_mappings, globals())
app.run()
我用命令python webstart.py启动了开发服务器,然后在浏览器里输入localhost:8080,结果它给我返回了None,而且在日志里我看到以下信息:
127.0.0.1:52822 - - [19/Mar/2013 20:44:18] "HTTP/1.1 GET /" - 405 方法不被允许
127.0.0.1:52822 - - [19/Mar/2013 20:44:18] "HTTP/1.1 GET /favicon.ico" - 404 找不到
我漏掉了什么吗?
1 个回答
1
web.py 找不到控制器类,你需要修改 urls.py 文件:
url_mappings = (
'/', 'index.index'
)
或者在 webstart.py 文件中导入 index
类
from index import index
也就是说,你要么直接把网址映射到 模块名.类名
,要么从模块中 导入类名
,这样 类名
就可以在全局范围内使用了。