django-backward
A Django application to store your previous history and action using differents backends.
With this application you will be able to redirect your users to their previous location when they tried to access a page where the login is required.
You will be also able to record previous action which needed login required.
For example, if your user is not logged in your application and try to execute an action which required authentication (e.g.: an user clicks on a button to follow another user), this application will record parameters (even on POST) and execute the last action when your user will be successfully logged.
Thanks to oleiade for the name.
Installation
Either check out the package from GitHub or it pull from a release via PyPI
pip install django-backward
Add
backward.middleware.BackwardMiddleware
to yourMIDDLEWARE_CLASSES
MIDDLEWARE_CLASSES = ( 'backward.middleware.BackwardMiddleware', )
Add
backward.urls
to yoururls.py
# urls.py from django.conf.urls import patterns, url, include urlpatterns = patterns( '', url(r'^backward/', include('backward.urls')), )
Set
settings.LOGIN_REDIRECT_URL
as mentioned in yoururls.py
for example# settings.py LOGIN_REDIRECT_URL = '/backward/login/redirect/'
Configure your Session engine if you are using the default backend
Use the decorator
backward.decorators.login_required
if your views need authentication
Configuration
BACKEND_BACKEND_CLASS
The backend used to store information.
The default backend class is backward.backends.session.SessionBackend
.
backwards.backends.session.SessionBackend
Store information in request.session
using your Session engine
backwards.backends.session.CookieBackend
Store information in request.COOKIES
, you can configure a few things:
BACKWARD_MAX_AGE
: the age used to set an expiration date to the cookieBACKWARD_COOKIE_DOMAIN
: the domain name used for the cookieBACKWARD_COOKIE_SECURE
: if this is set to True, the cookie will be marked as secure, which means browsers may ensure that the cookie is only sent under an HTTPS connection.