Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

[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
  • Loading branch information...
commit 8fd9f2eb9f2706dc774ffbdea6bd172c83741e68 1 parent fae5b04
Simon Meers DrMeers authored
Showing with 24 additions and 11 deletions.
  1. +24 −11 docs/howto/deployment/modpython.txt
35 docs/howto/deployment/modpython.txt
View
@@ -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::
+
+ print >> sys.stderr, 'debug text'
+ sys.stderr.flush()
+
+(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::
-.. _mod_python documentation: http://modpython.org/live/current/doc-html/directives.html
+ assert False, 'debug text'
-.. _serving-media-files:
+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
=======================
Please sign in to comment.
Something went wrong with that request. Please try again.