diff --git a/docs/howto/deployment/modpython.txt b/docs/howto/deployment/modpython.txt index 90a85cac5c..a9b665f331 100644 --- a/docs/howto/deployment/modpython.txt +++ b/docs/howto/deployment/modpython.txt @@ -1,3 +1,5 @@ +.. _howto-deployment-modpython: + ============================================ How to use Django with Apache and mod_python ============================================ diff --git a/docs/ref/request-response.txt b/docs/ref/request-response.txt index bf984f4fa8..fb38b596e9 100644 --- a/docs/ref/request-response.txt +++ b/docs/ref/request-response.txt @@ -30,10 +30,25 @@ All attributes except ``session`` should be considered read-only. .. attribute:: HttpRequest.path - A string representing the full path to the requested page, not including - the domain. + A string representing the full path to the requested page, not including + the domain. - Example: ``"/music/bands/the_beatles/"`` + Example: ``"/music/bands/the_beatles/"`` + +.. attribute:: HttpRequest.path_info + + Under some web server configurations, the portion of the URL after the host + name is split up into a script prefix portion and a path info portion + (this happens, for example, when using the ``django.root`` option + with the :ref:`modpython handler from Apache `). + The ``path_info`` attribute always contains the path info portion of the + path, no matter what web server is being used. Using this instead of + attr:`~HttpRequest.path` can make your code much easier to move between test + and deployment servers. + + For example, if the ``django.root`` for your application is set to + ``"/minfo"``, then ``path`` might be ``"/minfo/music/bands/the_beatles/"`` + and ``path_info`` would be ``"/music/bands/the_beatles/"``. .. attribute:: HttpRequest.method diff --git a/docs/topics/http/urls.txt b/docs/topics/http/urls.txt index 1ea991959b..1f499909ee 100644 --- a/docs/topics/http/urls.txt +++ b/docs/topics/http/urls.txt @@ -926,3 +926,22 @@ permalink() The :func:`django.db.models.permalink` decorator is useful for writing short methods that return a full URL path. For example, a model's ``get_absolute_url()`` method. See :func:`django.db.models.permalink` for more. + +get_script_prefix() +------------------- + +.. function:: get_script_prefix() + +.. versionadded:: 1.0 + +Normally, you should always use :func:`~django.core.urlresolvers.reverse` or +:func:`~django.db.models.permalink` to define URLs within your application. +However, if your application constructs part of the URL hierarchy itself, you +may occasionally need to generate URLs. In that case, you need to be able to +find the base URL of the Django project within its web server +(normally, :func:`~django.core.urlresolvers.reverse` takes care of this for +you). In that case, you can call ``get_script_prefix()``, which will return the +script prefix portion of the URL for your Django project. If your Django +project is at the root of its webserver, this is always ``"/"``, but it can be +changed, for instance by using ``django.root`` (see :ref:`How to use +Django with Apache and mod_python `).