URLconf
- 在settings.py文件中通過ROOT_URLCONF指定根級url的配置
- urlpatterns是一個url()實例的列表
- 一個url()對象包括:
1 正則表達式
2 視圖函數(shù)
3 名稱name - 編寫URLconf的注意:
1 若要從url中捕獲一個值,需要在它周圍設(shè)置一對圓括號
2 不需要添加一個前導(dǎo)的反斜杠,如應(yīng)該寫作'test/',而不應(yīng)該寫作'/test/'
3 每個正則表達式前面的r表示字符串不轉(zhuǎn)義 - 請求的url被看做是一個普通的python字符串,進行匹配時不包括get或post請求的參數(shù)及域名
包含其它的URLconfs
在urls.py中,可以包含其他 URLconf
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^user/', include('user_app.urls', namespace='user'))
]
在user_app下新建一個urls.py
from django.conf.urls import include, url
from . import views
urlpatterns = [
url(r'^register$', views.regiseter, name='register')
]
- 匹配過程:先與主URLconf匹配,成功后再用剩余的部分與應(yīng)用中的URLconf匹配
- 在include中通過namespace定義命名空間,用于反解析