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
- Stuff by NixonDash 1 month ago
- Add custom fields to the built-in Group model by jmoppel 3 months, 1 week ago
- Month / Year SelectDateWidget based on django SelectDateWidget by pierreben 6 months, 3 weeks ago
- Python Django CRUD Example Tutorial by tuts_station 7 months ago
- Browser-native date input field by kytta 8 months, 3 weeks ago
Comments
Please login first before commenting.