2013-03-19 78 views
0

我是Python和web.py世界的noob。web.py不檢測GET方法

我剛剛創建三個文件

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,當我打本地主機:8080,發送無,瀏覽器和我看到日誌下面

127.0.0.1:52822 - - [19/2013年3月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 Not Found

我錯過了什麼?

+0

是不是這個基本涵蓋在'用戶指南'web.py? – KevinDTimm 2013-03-19 15:48:15

+0

在用戶指南(http://webpy.org/docs/0.3/tutorial#starting)中,他們將所有代碼放在一個文件中,我試過了,它可以工作。但是,當我將它們全部保存在三個不同的文件中時,它不會工作:( – thefourtheye 2013-03-19 15:50:13

+0

今天重要的一課 - 一次只改變一件事 - 就此而言,訂單是一個問題? – KevinDTimm 2013-03-19 15:56:06

回答

1

web.py無法找到控制器類,您應該改變urls.py:

url_mappings = (
    '/', 'index.index' 
) 

或導入index類webstart.py

from index import index 

即就應該把地圖網址直接到module_name.class_nameimport class_name from module_name因此class_name在全球範圍內可用。