From 83ea3bc798a87098e6507450e7db610020eb215e Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Mon, 14 Sep 2015 14:01:10 -0400 Subject: [PATCH] Reverted "Fixed #25203 -- Documented how to pass Apache environment variables to Django." As discussed on the ticket, this isn't a pattern we should recommend. This reverts commit 47016d4322574860f90431e1c87d19f7a1f778c6. --- docs/howto/deployment/wsgi/modwsgi.txt | 41 -------------------------- 1 file changed, 41 deletions(-) diff --git a/docs/howto/deployment/wsgi/modwsgi.txt b/docs/howto/deployment/wsgi/modwsgi.txt index 19378f1630..689effba17 100644 --- a/docs/howto/deployment/wsgi/modwsgi.txt +++ b/docs/howto/deployment/wsgi/modwsgi.txt @@ -125,47 +125,6 @@ mode`_. .. _details on setting up daemon mode: http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide#Delegation_To_Daemon_Process -Apache environment variables -============================ - -If you want to specify a different Django settings file or additional variables -for your Django application via the Apache configuration, you would do it like -this: - -.. code-block:: apache - - SetEnv DB_USER dbusername - SetEnv DJANGO_SETTINGS_MODULE mysite.alternate-settings - -The ``SetEnv`` directive creates Apache environment variables instead of OS -environment variables, so you will need to replace the default ``wsgi.py`` file -with:: - - import os - - from django.core.wsgi import get_wsgi_application - - # A tuple of Apache environment variables to pass through to Django. - env_variables_to_pass = ('DB_USER', ) - - def application(environ, start_response): - """ - Wrapper for the WSGI application that passes environment variables. - """ - os.environ['DJANGO_SETTINGS_MODULE'] = environ.get('DJANGO_SETTINGS_MODULE', 'mysite.settings') - for var in env_variables_to_pass: - os.environ[var] = environ.get(var, '') - return get_wsgi_application()(environ, start_response) - -Now you can specify a new settings file in Apache using the -``SetEnv DJANGO_SETTINGS_MODULE ...`` line, and if that setting isn't -specified, it uses ``'mysite.settings'`` as a default. You'll want to change -``mysite.settings`` to reference your own ``settings.py`` module. - -Additionally, you can use the ``env_variables_to_pass`` tuple to specify any -other Apache environment variables, such as database login credentials, that -should be passed along to the Django application as OS environment variables. - .. _serving-files: Serving files