Skip to content

Instantly share code, notes, and snippets.

@aezell
Created September 14, 2012 18:46
Show Gist options
  • Save aezell/3723870 to your computer and use it in GitHub Desktop.
Save aezell/3723870 to your computer and use it in GitHub Desktop.
SA Middleware
class SqlAlchemyMiddleware:
"""
A simple SA middleware class that creates a global scoped session from the
DATABASE_URL parameter in the settings file.
"""
def process_view(self, request, view_func, view_args, view_kwargs):
from django.conf import settings
from django.http import HttpResponseRedirect
try:
self.bind_session(request, view_kwargs)
except Exception, e:
if settings.DEBUG:
raise
else:
return HttpResponseRedirect(settings.LOGIN_URL)
def process_response(self, request, response):
Session.remove()
clear_engine_cache()
return response
def bind_session(self, request, view_kwargs):
from django.conf import settings
Session.configure(bind = create_cached_engine(settings.DATABASE_URL))
@binarymatt
Copy link

where did the create_cached_engine method come from?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment