Author: russellm Date: 2009-07-11 10:38:47 -0500 (Sat, 11 Jul 2009) New Revision: 11221
Modified: django/trunk/docs/topics/http/urls.txt Log: Fixed #11439 -- Added docs on including URL patterns as an iterable. Thanks to Ramiro Morales for the draft text. Modified: django/trunk/docs/topics/http/urls.txt =================================================================== --- django/trunk/docs/topics/http/urls.txt 2009-07-11 15:38:08 UTC (rev 11220) +++ django/trunk/docs/topics/http/urls.txt 2009-07-11 15:38:47 UTC (rev 11221) @@ -40,14 +40,14 @@ this is the value of the ``ROOT_URLCONF`` setting, but if the incoming ``HttpRequest`` object has an attribute called ``urlconf``, its value will be used in place of the ``ROOT_URLCONF`` setting. - + 2. Django loads that Python module and looks for the variable ``urlpatterns``. This should be a Python list, in the format returned by the function ``django.conf.urls.defaults.patterns()``. - + 3. Django runs through each URL pattern, in order, and stops at the first one that matches the requested URL. - + 4. Once one of the regexes matches, Django imports and calls the given view, which is a simple Python function. The view gets passed an :class:`~django.http.HttpRequest` as its first argument and any values @@ -263,9 +263,16 @@ include ------- -A function that takes a full Python import path to another URLconf that should -be "included" in this place. See `Including other URLconfs`_ below. +A function that takes a full Python import path to another URLconf module that +should be "included" in this place. +.. versionadded:: 1.1 + +:meth:``include`` also accepts as an argument an iterable that returns URL +patterns. + +See `Including other URLconfs`_ below. + Notes on capturing text in URLs =============================== @@ -391,6 +398,25 @@ up to that point and sends the remaining string to the included URLconf for further processing. +.. versionadded:: 1.1 + +Another posibility is to include additional URL patterns not by specifying the +URLconf Python module defining them as the `include`_ argument but by using +directly the pattern list as returned by `patterns`_ instead. For example:: + + from django.conf.urls.defaults import * + + extra_patterns = patterns('', + url(r'reports/(?P<id>\d+)/$', 'credit.views.report', name='credit-reports'), + url(r'charge/$', 'credit.views.charge', name='credit-charge'), + ) + + urlpatterns = patterns('', + url(r'^$', 'apps.main.views.homepage', name='site-homepage'), + (r'^help/', include('apps.help.urls')), + (r'^credit/', include(extra_patterns)), + ) + .. _`Django Web site`: http://www.djangoproject.com/ Captured parameters --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django updates" group. To post to this group, send email to django-updates@googlegroups.com To unsubscribe from this group, send email to django-updates+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-updates?hl=en -~----------~----~----~----~------~----~------~--~---