summaryrefslogtreecommitdiff
path: root/docs/intro/tutorial03.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/intro/tutorial03.txt')
-rw-r--r--docs/intro/tutorial03.txt33
1 files changed, 28 insertions, 5 deletions
diff --git a/docs/intro/tutorial03.txt b/docs/intro/tutorial03.txt
index 5b2bf0ccec..8f6061a14e 100644
--- a/docs/intro/tutorial03.txt
+++ b/docs/intro/tutorial03.txt
@@ -454,6 +454,27 @@ first argument to :func:`~django.conf.urls.defaults.patterns`, like so::
This is functionally identical to the previous formatting. It's just a bit
tidier.
+Since you generally don't want the prefix for one app to be applied to every
+callback in your URLconf, you can concatenate multiple
+:func:`~django.conf.urls.defaults.patterns`. Your full ``mysite/urls.py`` might
+now look like this::
+
+ from django.conf.urls.defaults import *
+
+ from django.contrib import admin
+ admin.autodiscover()
+
+ urlpatterns = patterns('polls.views',
+ (r'^polls/$', 'index'),
+ (r'^polls/(?P<poll_id>\d+)/$', 'detail'),
+ (r'^polls/(?P<poll_id>\d+)/results/$', 'results'),
+ (r'^polls/(?P<poll_id>\d+)/vote/$', 'vote'),
+ )
+
+ urlpatterns += patterns('',
+ (r'^admin/', include(admin.site.urls)),
+ )
+
Decoupling the URLconfs
=======================
@@ -472,18 +493,20 @@ URLs within the app directory.
Copy the file ``mysite/urls.py`` to ``polls/urls.py``. Then, change
``mysite/urls.py`` to remove the poll-specific URLs and insert an
-:func:`~django.conf.urls.defaults.include`::
+:func:`~django.conf.urls.defaults.include`, leaving you with::
# This also imports the include function
from django.conf.urls.defaults import *
-
- # ...
+
+ from django.contrib import admin
+ admin.autodiscover()
+
urlpatterns = patterns('',
(r'^polls/', include('polls.urls')),
- # ...
+ (r'^admin/', include(admin.site.urls)),
)
-:func:`~django.conf.urls.defaults.include`, simply, references another URLconf.
+:func:`~django.conf.urls.defaults.include` simply references another URLconf.
Note that the regular expression doesn't have a ``$`` (end-of-string match
character) but has the trailing slash. Whenever Django encounters
:func:`~django.conf.urls.defaults.include`, it chops off whatever part of the