2013-07-15 63 views
1

我知道瀏覽器會向bin/app.py應用程序發出HTTP請求,並要求輸入/ URL,這通常是任何網站上的第一個URL。即使在重命名類時,web.py也會加載頁面

Inside bin/app.py我有一個URL列表以及它們匹配的是什麼類。

我唯一擁有的是'/'和'索引'映射。它給在學習Python堅硬方式是:

這意味着只要有人去/有一個瀏覽器,lpthw.web會發現類指數並加載它來處理請求。

我現在在app.py中有以下代碼。

import web 
urls = ('/','index') 
app = web.application(urls,globals()) 

class whatever: 
    def GET(self): 
     a = "Hello World!" 
     return a 
if __name__ == "__main__": 
app.run() 

在上面的代碼中,我將該類命名爲「whatever」。即使這樣,當我進入本地主機頁面時,瀏覽器顯示「Hello World!」

這是怎麼發生的?即使我將其中一個網址從「索引」重命名爲其他內容,代碼也能正常工作。我錯過了什麼?

+1

您是否重新啓動服務器?另外,你確定你正在編輯正確的文件嗎? – Blender

+0

我在一個窗口(IDLE)和命令提示符下打開了app.py,從另一個窗口執行代碼。每次更換課程時,是否需要重新啓動服務器? @Blender – sarath

+0

刪除所有.pyc文件如果存在任何... –

回答

1

默認情況下,服務器需要在每次更改代碼後重新啓動。但是,有一個解決方法。從the web.py tutorial

...在最後一行添加web.reloader以便讀取:

if __name__ == "__main__": web.run(urls, globals(), web.reloader)

這告訴web.py使用web.reloader 「中間件」(中間件是一個包裝功能,可以爲你的網絡服務器添加一些功能),當你編輯它們時,它會重新加載你的文件,這樣你就可以馬上看到你的網頁瀏覽器中的變化。 (但對於一些嚴重的更改,您仍然需要重新啓動服務器。)當您將網站設爲公開時,您可能會想要將其刪除,但在開發過程中它很棒

相關問題