本文介紹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,這種模糊比對,一般是需要用到Regex。
3)URL帶組匹配,格式 /index(\d+)
解釋:這個帶組匹配和上面模糊比對好像,就因為在Regex外部添加一個括弧,就表示匹配一組。
2.修改我們之前的hello.py內容,來練習一下URL映射
import web urls = ('/index', 'index','/blog/\d+', 'blog', '/(.*)', 'hello')app = web.application(urls, globals())class hello: def GET(self, name): return 'hello '+ nameclass 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() 通過上面代碼,我們可以看出我們把URL映射寫到了urls這個結構中,最上面的匹配是完全符合,匹配結果範圍很小,中間的是模糊比對,匹配範圍變大,第三個是任意匹配(.*)表示任何字元,匹配結果範圍更大。這個需要保持這樣的規範,從小到大的範圍。
3. 測試回合不同URL,去驗證設定的匹配是否成功
3.1 完全符合
3.2 模糊比對
3.3 任意匹配