Navigation Menu

Skip to content

Commit

Permalink
Fixed #6382: Documented request.urlconf
Browse files Browse the repository at this point in the history
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7303 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information
ubernostrum committed Mar 18, 2008
1 parent 41d101e commit cc08372
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 4 deletions.
10 changes: 10 additions & 0 deletions docs/request_response.txt
Expand Up @@ -141,6 +141,16 @@ All attributes except ``session`` should be considered read-only.
The raw HTTP POST data. This is only useful for advanced processing. Use
``POST`` instead.

``urlconf``
Not defined by Django itself, but will be read if other code
(e.g., a custom middleware class) sets it; when present, this will
be used as the root URLConf for the current request, overriding
the ``ROOT_URLCONF`` setting. See `How Django processes a
request`_ for details.

.. _How Django processes a request: ../url_dispatch/#how-django-processes-a-request


Methods
-------

Expand Down
4 changes: 3 additions & 1 deletion docs/settings.txt
Expand Up @@ -754,7 +754,9 @@ ROOT_URLCONF
Default: Not defined

A string representing the full Python import path to your root URLconf. For example:
``"mydjangoapps.urls"``. See `How Django processes a request`_.
``"mydjangoapps.urls"``. Can be overridden on a per-request basis by
setting the attribute ``urlconf`` on the incoming ``HttpRequest``
object. See `How Django processes a request`_ for details.

.. _How Django processes a request: ../url_dispatch/#how-django-processes-a-request

Expand Down
8 changes: 5 additions & 3 deletions docs/url_dispatch.txt
Expand Up @@ -32,9 +32,11 @@ How Django processes a request
When a user requests a page from your Django-powered site, this is the
algorithm the system follows to determine which Python code to execute:

1. Django looks at the ``ROOT_URLCONF`` setting in your `settings file`_.
This should be a string representing the full Python import path to your
URLconf. For example: ``"mydjangoapps.urls"``.
1. Django determines the root URLConf module to use; ordinarily
this is the value of the ``ROOT_URLCONF`` setting in your
`settings file`_, 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()``.
Expand Down

0 comments on commit cc08372

Please sign in to comment.