From 30d5a3c8f70c4e5fbfdc42358b9700ae5e497e4f Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Mon, 23 Nov 2009 16:43:25 +0000 Subject: [PATCH] [soc2009/multidb] Added extra docs on configuring the database-backed session store. Patch from Russell Keith-Magee. git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11767 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- docs/topics/http/sessions.txt | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/docs/topics/http/sessions.txt b/docs/topics/http/sessions.txt index 3b1429b440..cfe53c514b 100644 --- a/docs/topics/http/sessions.txt +++ b/docs/topics/http/sessions.txt @@ -24,14 +24,6 @@ To enable session functionality, do the following: The default ``settings.py`` created by ``django-admin.py startproject`` has ``SessionMiddleware`` activated. - * Add ``'django.contrib.sessions'`` to your ``INSTALLED_APPS`` setting, - and run ``manage.py syncdb`` to install the single database table - that stores session data. - -.. versionchanged:: 1.0 - This step is optional if you're not using the database session backend; - see `configuring the session engine`_. - If you don't want to use sessions, you might as well remove the ``SessionMiddleware`` line from ``MIDDLEWARE_CLASSES`` and ``'django.contrib.sessions'`` from your ``INSTALLED_APPS``. It'll save you a small bit of overhead. @@ -46,6 +38,22 @@ By default, Django stores sessions in your database (using the model some setups it's faster to store session data elsewhere, so Django can be configured to store session data on your filesystem or in your cache. +Using database-backed sessions +------------------------------ + +If you want to use a database-backed session, you need to add +``'django.contrib.sessions'`` to your ``INSTALLED_APPS`` setting. + +If you want to store your session data on a database other than ``default`` +alias, you should set the :setting:`SESSION_DB_ALIAS` setting. + +Once you have configured your installation, run ``manage.py syncdb`` +to install the single database table that stores session data. + +.. versionadded:: 1.2 + The :setting:`SESSION_DB_ALIAS` setting was added in Django 1.2. It + is not required in earlier versions. + Using cached sessions --------------------- @@ -86,6 +94,9 @@ disregards persistence. In most cases, the ``cached_db`` backend will be fast enough, but if you need that last bit of performance, and are willing to let session data be expunged from time to time, the ``cache`` backend is for you. +If you use the ``cached_db`` session backend, you also need to follow the +configuration instructions for the `using database-backed sessions`_. + Using file-based sessions ------------------------- @@ -97,6 +108,7 @@ to output from ``tempfile.gettempdir()``, most likely ``/tmp``) to control where Django stores session files. Be sure to check that your Web server has permissions to read and write to this location. + Using sessions in views =======================