Although many people have already posted cookieless session middlewares and related stuffs, but this one is just for only required views.
You can use this as a view decorator like:
@session_from_http_params @login_required def your_view(request): ...
This is very useful for those who use SWFUpload. Flash has a bug with sending cookies properly, so SWFUpload offers an workaround -- session key as a POST parameter.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
# -*- coding: utf-8 -*- from functools import wraps from django.conf import settings from django.utils.importlib import import_module def session_from_http_params(view_func): @wraps(view_func) def decorated(request, *args, **kwargs): engine = import_module(settings.SESSION_ENGINE) session_key = request.GET.get(settings.SESSION_COOKIE_NAME, None) if session_key is None: session_key = request.POST.get(settings.SESSION_COOKIE_NAME, None) request.session = engine.SessionStore(session_key) return view_func(request, *args, **kwargs) return decorated
More like this
- FileField having auto upload_to path by junaidmgithub 14 hours, 6 minutes ago
- LazyPrimaryKeyRelatedField by LLyaudet 1 week, 1 day ago
- CacheInDictManager by LLyaudet 1 week, 1 day ago
- MYSQL Full Text Expression by Bidaya0 1 week, 2 days ago
- Custom model manager chaining (Python 3 re-write) by Spotted1270 2 weeks, 1 day ago