summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJames Bennett <ubernostrum@gmail.com>2008-03-18 20:58:39 +0000
committerJames Bennett <ubernostrum@gmail.com>2008-03-18 20:58:39 +0000
commitcc083724c1c06c3b490affe47b76f5ef34ef136f (patch)
tree46f2e183f732c5096f97466bdc7ed0837dc57bd9 /docs
parent41d101e9ce10ab08051db47500f24a701b6882e9 (diff)
Fixed #6382: Documented request.urlconf
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7303 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'docs')
-rw-r--r--docs/request_response.txt10
-rw-r--r--docs/settings.txt4
-rw-r--r--docs/url_dispatch.txt8
3 files changed, 18 insertions, 4 deletions
diff --git a/docs/request_response.txt b/docs/request_response.txt
index e50cfc5ea3..4dcdf10adf 100644
--- a/docs/request_response.txt
+++ b/docs/request_response.txt
@@ -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
-------
diff --git a/docs/settings.txt b/docs/settings.txt
index 77e3c6692f..792c59b3c4 100644
--- a/docs/settings.txt
+++ b/docs/settings.txt
@@ -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
diff --git a/docs/url_dispatch.txt b/docs/url_dispatch.txt
index 789399de8d..053ee954a3 100644
--- a/docs/url_dispatch.txt
+++ b/docs/url_dispatch.txt
@@ -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()``.