summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2006-05-31 02:09:07 +0000
committerAdrian Holovaty <adrian@holovaty.com>2006-05-31 02:09:07 +0000
commit2f513e0f0e95d8f146385803743c7128dbc9b885 (patch)
treeca8c0ed0e7530684039ecad09dde74f40270a98d
parent85ba40f4e24410cf22f7aa2f73e9ca73bf5f5c5c (diff)
Added support to django/contrib/auth/handlers/modpython.py for setting DJANGO_SETTINGS_MODULE via a PythonOption instead of SetEnv
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3012 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/contrib/auth/handlers/modpython.py7
-rw-r--r--docs/apache_auth.txt9
2 files changed, 14 insertions, 2 deletions
diff --git a/django/contrib/auth/handlers/modpython.py b/django/contrib/auth/handlers/modpython.py
index b1d7680a33..e6719794a1 100644
--- a/django/contrib/auth/handlers/modpython.py
+++ b/django/contrib/auth/handlers/modpython.py
@@ -10,8 +10,6 @@ def authenhandler(req, **kwargs):
# that so that the following import works
os.environ.update(req.subprocess_env)
- from django.contrib.auth.models import User
-
# check for PythonOptions
_str_to_bool = lambda s: s.lower() in ('1', 'true', 'on', 'yes')
@@ -19,6 +17,11 @@ def authenhandler(req, **kwargs):
permission_name = options.get('DjangoPermissionName', None)
staff_only = _str_to_bool(options.get('DjangoRequireStaffStatus', "on"))
superuser_only = _str_to_bool(options.get('DjangoRequireSuperuserStatus', "off"))
+ settings_module = options.get('DJANGO_SETTINGS_MODULE', None)
+ if settings_module:
+ os.environ['DJANGO_SETTINGS_MODULE'] = settings_module
+
+ from django.contrib.auth.models import User
# check that the username is valid
kwargs = {'username': req.user, 'is_active': True}
diff --git a/docs/apache_auth.txt b/docs/apache_auth.txt
index 0dd5d00cbe..72e0841305 100644
--- a/docs/apache_auth.txt
+++ b/docs/apache_auth.txt
@@ -56,6 +56,15 @@ location to users marked as staff members. You can use a set of
required.
================================ =========================================
+Note that sometimes ``SetEnv`` doesn't play well in this mod_python
+configuration, for reasons unknown. If you're having problems getting
+mod_python to recognize your ``DJANGO_SETTINGS_MODULE``, you can set it using
+``PythonOption`` instead of ``SetEnv``. Therefore, these two Apache directives
+are equivalent::
+
+ SetEnv DJANGO_SETTINGS_MODULE mysite.settings
+ PythonOption DJANGO_SETTINGS_MODULE mysite.settings
+
.. _authentication system: http://www.djangoproject.com/documentation/authentication/
.. _Subversion: http://subversion.tigris.org/
.. _mod_dav: http://httpd.apache.org/docs/2.0/mod/mod_dav.html