diff options
| author | Carl Meyer <carl@oddbird.net> | 2012-09-27 20:16:38 -0600 |
|---|---|---|
| committer | Carl Meyer <carl@oddbird.net> | 2012-09-27 20:35:57 -0600 |
| commit | 751a7d0c32746dc6774f1b561db523b25365148a (patch) | |
| tree | d31e2a136c49aaf438f094303e40cff89f49d497 | |
| parent | e44bedd13f974321c0c5deece9f5ac3da02e64c0 (diff) | |
Fixed #18518 -- Add warning re mod_wsgi and wsgi.py environ handling.
| -rw-r--r-- | django/conf/project_template/project_name/wsgi.py | 4 | ||||
| -rw-r--r-- | docs/howto/deployment/wsgi/modwsgi.txt | 11 |
2 files changed, 15 insertions, 0 deletions
diff --git a/django/conf/project_template/project_name/wsgi.py b/django/conf/project_template/project_name/wsgi.py index b083a0e699..f768265b23 100644 --- a/django/conf/project_template/project_name/wsgi.py +++ b/django/conf/project_template/project_name/wsgi.py @@ -15,6 +15,10 @@ framework. """ import os +# We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks +# if running multiple sites in the same mod_wsgi process. To fix this, use +# mod_wsgi daemon mode with each site in its own daemon process, or use +# os.environ["DJANGO_SETTINGS_MODULE"] = "{{ project_name }}.settings" os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}.settings") # This application object is used by any WSGI server configured to use this diff --git a/docs/howto/deployment/wsgi/modwsgi.txt b/docs/howto/deployment/wsgi/modwsgi.txt index b525255dbd..01399aa5a6 100644 --- a/docs/howto/deployment/wsgi/modwsgi.txt +++ b/docs/howto/deployment/wsgi/modwsgi.txt @@ -56,6 +56,15 @@ for you; otherwise, you'll need to create it. See the :doc:`WSGI overview documentation</howto/deployment/wsgi/index>` for the default contents you should put in this file, and what else you can add to it. +.. warning:: + + If multiple Django sites are run in a single mod_wsgi process, all of them + will use the settings of whichever one happens to run first. This can be + solved with a minor edit to ``wsgi.py`` (see comment in the file for + details), or by :ref:`using mod_wsgi daemon mode<daemon-mode>` and ensuring + that each site runs in its own daemon process. + + Using a virtualenv ================== @@ -71,6 +80,8 @@ Make sure you give the correct path to your virtualenv, and replace .. _virtualenv: http://www.virtualenv.org +.. _daemon-mode: + Using mod_wsgi daemon mode ========================== |
