def alt_login(request, *args, **kwargs):
    """
    Info on why this exists: http://code.djangoproject.com/ticket/6941
    Clears out any session data on login that would otherwise persist
    for any subsequent logins regardless of user_id.
    Session data is only cleared if the test cookie is not present.
    If its present, the session data is already cleared and this does nothing.
    """
    if SessionBase.TEST_COOKIE_NAME not in request.session:
        for sesskey in request.session.keys():
            del request.session[sesskey]
    return original_login(request, *args, **kwargs)
Exemple #2
0
def login(request):
    u"""
    Вызывает соответствующее представление Django, анализирует результат.
    В случае ошибки генерирует сообщение и возвращает пользователя на прежнюю страницу.
    """
    response = original_login(request)
    if isinstance(response, HttpResponseRedirect):
        return response
    else:
        messages.error(request, _(u'Your credentials are wrong. Sorry.'))
        return_to = request.REQUEST.get(REDIRECT_FIELD_NAME, reverse('frontend:index'))
        return HttpResponseRedirect(return_to)
Exemple #3
0
def login(request, *args, **kwargs):
    request.session['_next'] = request.GET.get('next')
    return original_login(request, *args, **kwargs)
Exemple #4
0
def login(request, *args, **kwargs):
    request.session['_next'] = request.GET.get('next')
    return original_login(request, *args, **kwargs)