Fixed #5507 -- Use a more portable way to get at the system's tmpdir (fixes a

problem with the default on Windows). Thanks, Philippe Raoult.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@7329 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Malcolm Tredinnick 2008-03-20 06:43:58 +00:00
parent 6417f5247b
commit 9e47cc2e51
3 changed files with 8 additions and 6 deletions

View File

@ -287,7 +287,7 @@ SESSION_COOKIE_PATH = '/' # The path of the sessio
SESSION_SAVE_EVERY_REQUEST = False # Whether to save the session data on every request. SESSION_SAVE_EVERY_REQUEST = False # Whether to save the session data on every request.
SESSION_EXPIRE_AT_BROWSER_CLOSE = False # Whether sessions expire when a user closes his browser. SESSION_EXPIRE_AT_BROWSER_CLOSE = False # Whether sessions expire when a user closes his browser.
SESSION_ENGINE = 'django.contrib.sessions.backends.db' # The module to store session data SESSION_ENGINE = 'django.contrib.sessions.backends.db' # The module to store session data
SESSION_FILE_PATH = '/tmp/' # Directory to store session files if using the file session module SESSION_FILE_PATH = None # Directory to store session files if using the file session module. If set to None the backend will use a sensible default.
######### #########
# CACHE # # CACHE #

View File

@ -9,7 +9,9 @@ class SessionStore(SessionBase):
Implements a file based session store. Implements a file based session store.
""" """
def __init__(self, session_key=None): def __init__(self, session_key=None):
self.storage_path = getattr(settings, "SESSION_FILE_PATH", tempfile.gettempdir()) self.storage_path = getattr(settings, "SESSION_FILE_PATH", None)
if not self.storage_path:
self.storage_path = tempfile.gettempdir()
# Make sure the storage path is valid. # Make sure the storage path is valid.
if not os.path.isdir(self.storage_path): if not os.path.isdir(self.storage_path):

View File

@ -48,10 +48,10 @@ Using file-based sessions
To use file-based sessions, set the ``SESSION_ENGINE`` setting to To use file-based sessions, set the ``SESSION_ENGINE`` setting to
``"django.contrib.sessions.backends.file"``. ``"django.contrib.sessions.backends.file"``.
You might also want to set the ``SESSION_FILE_PATH`` setting (which You might also want to set the ``SESSION_FILE_PATH`` setting (which defaults
defaults to ``/tmp``) to control where Django stores session files. Be to output from ``tempfile.gettempdir()``, most likely ``/tmp``) to control
sure to check that your Web server has permissions to read and write to where Django stores session files. Be sure to check that your Web server has
this location. permissions to read and write to this location.
Using cache-based sessions Using cache-based sessions
-------------------------- --------------------------