(1)Including other URLconfs
比如一个website项目urls.py, include了其他的urls:
1
2
3
4
5
6
7
8
|
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中进行进一步操作。
另一个例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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