Django學習--urls.py詳解


urls.py:又稱為URL分發器(路由配置文件)
URL配置(URLconf)就形式Django所支撐網站的目錄。他的本質是URL模式以及要為該URL模式調用的試圖函數之間的映射表。開發者就是以這種方式告訴Django,對於這個URL調用這段代碼,而那個URL調用那段代碼。URL加載是從配置文件中開始的。
 
1.url配置格式:
    urlpatterns = patterns('視圖前綴',  
        url(r'^正則表達式1/$', '視圖函數1', name="url標識1"),  
        url(r'^正則表達式2/$', '視圖函數2', name="url標識2"),  
    )  
 
 
patterns函數的第一個參數表示視圖前綴,視圖前綴可以為空,之后跟上若干個url函數,每個url函數表示一個請求映射關系。
 

注意:

3.1 url函數的第二個參數,表示視圖函數,它的名字不是隨便取的,必須要在views.py中真實存在,項目的每個應用下都會有一個views.py文件。

3.2 views.py文件中的視圖函數,其第一個參數必須是HttpRequest對象。

3.2 name的作用主要體現在一個視圖函數對應多個url請求的場景中,name可以用來唯一標識一個url,所以它必須全局唯一

 
urls.py的配置寫法一般有三種方式:
 
第一種是視圖函數處理方法,l例如:
from hello_app import views   #在hello_app中的views.py文件中配置了函數hello
#url函數寫法
url(r'^hello$',views.hello)
 
第二種方法是導入視圖函數中的方法
第三種就是下述的include分解器方式。
 
2.URL的編輯模式:
urlpatterns=[
    url(正則表達式,view函數,參數,別名,前綴)
]
其中各參數的說明如下:
* 一個正則表達式字符串
* 一個可調用的對象,通常為一個視圖函數或者是一個指定視圖函數路徑的字符串
* 可選的要傳遞給視圖函數的默認參數(字典形式)
* 一個可選的參數
* 路徑的前綴
以下為url函數源碼
 
 
3.URl分解器,include函數:
通常一個URL分解器對應一個URL配置模塊,他可以包含多個URL模式,野也以包含多個其他URl分解器。 通過這種包含結構設計,實現Django對URL的層級解析。
通俗講就是URL過多時 ,每個app分別保存自己的url,這樣在工程目錄下的urls.py文件中就不會有很多的URL地址。
URL分解器是Django實現app'與項目解耦的關鍵,那個有include方法操作的URL配置模塊,最終會被解釋為URl分解器。

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM