python web py入門-3-URL映射

來源:互聯網
上載者:User

       本文介紹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 任意匹配


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.