python web py入門-3-URL對映
阿新 • • 發佈:2019-02-16
本文介紹URL對映,在介紹對映之前,我們先了解下什麼是URL? URL(Uniform/Universal Resource Locator的縮寫,統一資源定位符)是對可以從網際網路上得到的資源的位置和訪問方法的一種簡潔的表示,是網際網路上標準資源的地址。網際網路上的每個檔案都有一個唯一的URL,它包含的資訊指出檔案的位置以及瀏覽器應該怎麼處理它。知道了什麼是URL,那麼URL對映就好理解。白話說就根據URL的匹配規則去尋找對應的頁面。
1.URL三種對映
1) URL完全匹配,格式: /index
解釋,在瀏覽器輸入http://localhost:8080/index,那麼會完全匹配“/index”這樣的頁面。
2)URL模糊匹配,格式:/index\d+
解釋:這裡意思是以"/index"開頭,後面跟著一個數字或者多個數字這樣的URL進行匹配,例如,瀏覽器輸入:http://localhost:8080/index123 或者http://localhost:8080/index4,這種模糊匹配,一般是需要用到正則表示式。
3)URL帶組匹配,格式 /index(\d+)
解釋:這個帶組匹配和上面模糊匹配好像,就因為在正則表示式外部新增一個括號,就表示匹配一組。
2.修改我們之前的hello.py內容,來練習一下URL對映
通過上面程式碼,我們可以看出我們把URL對映寫到了urls這個結構中,最上面的匹配是完全匹配,匹配結果範圍很小,中間的是模糊匹配,匹配範圍變大,第三個是任意匹配(.*)表示任何字元,匹配結果範圍更大。這個需要保持這樣的規範,從小到大的範圍。import web urls = ( '/index', 'index', '/blog/\d+', 'blog', '/(.*)', 'hello' ) app = web.application(urls, globals()) class hello: def GET(self, name): return 'hello '+ name class index: def GET(self): return 'index method' class blog: def GET(self): return 'blog GET method' def POST(self): return 'blog POST method' if __name__ == "__main__": app.run()
3. 測試執行不同URL,去驗證設定的匹配是否成功
3.1 完全匹配
3.2 模糊匹配
3.3 任意匹配