(1)Including other URLconfs
比如一個website項目urls.py, include了其他的urls:
from django.conf.urls import include, url
urlpatterns = [
# ... snip ...
url(r'^community/', include('django_website.aggregator.urls')),
url(r'^contact/', include('django_website.contact.urls')),
# ... snip ...
]
注意include之前的正則表達式沒有終止符 $ 而是 /
當調用clude時,把url前邊正則表達式匹配到的chop off(砍掉),剩下的string傳遞到include的urls中進行進一步操作。
另一個例子
from django.conf.urls import include, url
from apps.main import views as main_views
from credit import views as credit_views
extra_patterns = [
url(r'^reports/$', credit_views.report),
url(r'^reports/(?P<id>[0-9]+)/$', credit_views.report),
url(r'^charge/$', credit_views.charge),
]
urlpatterns = [
url(r'^$', main_views.homepage),
url(r'^help/', include('apps.help.urls')),
url(r'^credit/', include(extra_patterns)),
]
該例中 url: credit/reports/ 對應的方法是credit_views.report
