Commit 8fd9f2eb authored by Simon Meers's avatar Simon Meers
Browse files

[1.2.X] Fixed #5677 -- update modpython stdout documentation. Thanks to...

[1.2.X] Fixed #5677 -- update modpython stdout documentation. Thanks to Manfred Wassmann for the report, nickefford for the initial patch and Graham Dumpleton for the expert advice.

Backported of r14059 from trunk.


git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@14060 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent fae5b04f
Loading
Loading
Loading
Loading
+24 −11
Original line number Diff line number Diff line
@@ -2,6 +2,13 @@
How to use Django with Apache and mod_python
============================================

.. warning::

    Support for mod_python will be deprecated in a future release of Django. If
    you are configuring a new deployment, you are strongly encouraged to
    consider using :doc:`mod_wsgi </howto/deployment/modwsgi>` or any of the
    other :doc:`supported backends </howto/deployment/index>`.

.. highlight:: apache

The `mod_python`_ module for Apache_ can be used to deploy Django to a
@@ -151,6 +158,8 @@ the full URL.
When deploying Django sites on mod_python, you'll need to restart Apache each
time you make changes to your Python code.

.. _mod_python documentation: http://modpython.org/live/current/doc-html/directives.html

Multiple Django installations on the same Apache
================================================

@@ -204,17 +213,25 @@ everything for each request. But don't do that on a production server, or we'll
revoke your Django privileges.

If you're the type of programmer who debugs using scattered ``print``
statements, note that ``print`` statements have no effect in mod_python; they
don't appear in the Apache log, as one might expect. If you have the need to
print debugging information in a mod_python setup, either do this::
statements, note that output to ``stdout`` will not appear in the Apache
log and can even `cause response errors`_.

    assert False, the_value_i_want_to_see
.. _cause response errors: http://blog.dscpl.com.au/2009/04/wsgi-and-printing-to-standard-output.html

Or add the debugging information to the template of your page.
If you have the need to print debugging information in a mod_python setup, you 
have a few options. You can print to ``stderr`` explicitly, like so::
 
.. _mod_python documentation: http://modpython.org/live/current/doc-html/directives.html
    print >> sys.stderr, 'debug text'
    sys.stderr.flush()
 
.. _serving-media-files:
(note that ``stderr`` is buffered, so calling ``flush`` is necessary if you wish
debugging information to be displayed promptly.)
 
A more compact approach is to use an assertion::

    assert False, 'debug text'

Another alternative is to add debugging information to the template of your page.

Serving media files
===================
@@ -267,10 +284,6 @@ the ``media`` subdirectory and any URL that ends with ``.jpg``, ``.gif`` or
.. _Apache: http://httpd.apache.org/
.. _Cherokee: http://www.cherokee-project.com/

.. _howto-deployment-modpython-serving-the-admin-files:

.. _serving-the-admin-files:

Serving the admin files
=======================