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文件。app
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;">url