2008年10月29日 星期三

Django的urls.py

在urls.py裡面,你會看到這樣的描述
(r'^admin/doc/', include('django.contrib.admindocs.urls'))


了解這樣的描述之前,要先了解urls.py的行為

其實講白了就是對照網址,看要給誰處理罷了。對照的方式為正規表示法,而且是由上到下,比對成功就丟給後面的function處理了,所以要小心設計,不然會有一些function苦無用武之地....

但為什麼上面的描述要加上include的字樣?

可以注意到前端的正規表示並未加上$(在正規表示法中,$代表結尾),因此它可以比對大範圍的admin/doc/....網址,比較有趣的是,include就是把....部份丟給另一個urls.py處理,因此每個app也可以擁有自己的urls.py,不一定要將所有的「轉址」放在專案根目錄的urls.py裡面

沒有留言: