def login(request, template_name='emailauth/login.html', redirect_field_name=REDIRECT_FIELD_NAME): redirect_to = request.REQUEST.get(redirect_field_name, '') if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): from django.contrib.auth import login login(request, form.get_user()) if request.get_host() == 'testserver': if not redirect_to or '//' in redirect_to or ' ' in redirect_to: redirect_to = settings.LOGIN_REDIRECT_URL return HttpResponseRedirect(redirect_to) request.session.set_test_cookie() return HttpResponseRedirect( settings.LOGIN_URL + '?' + urlencode({ 'testcookiesupport': '', redirect_field_name: redirect_to, })) elif 'testcookiesupport' in request.GET: if request.session.test_cookie_worked(): request.session.delete_test_cookie() if not redirect_to or '//' in redirect_to or ' ' in redirect_to: redirect_to = settings.LOGIN_REDIRECT_URL return HttpResponseRedirect(redirect_to) else: form = LoginForm() errorlist = forms.util.ErrorList() errorlist.append( _("Your Web browser doesn't appear to " "have cookies enabled. Cookies are required for logging in.") ) form._errors = forms.util.ErrorDict() form._errors[forms.forms.NON_FIELD_ERRORS] = errorlist else: form = LoginForm() if Site._meta.installed: current_site = Site.objects.get_current() else: current_site = RequestSite(request) return render_to_response(template_name, { 'form': form, 'redirect_field_name': redirect_field_name, 'redirect_to': redirect_to, 'site_name': current_site.name, }, context_instance=RequestContext(request))
def login(request, template_name='emailauth/login.html', redirect_field_name=REDIRECT_FIELD_NAME): redirect_to = request.REQUEST.get(redirect_field_name, '') if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): from django.contrib.auth import login login(request, form.get_user()) if request.get_host() == 'testserver': if not redirect_to or '//' in redirect_to or ' ' in redirect_to: redirect_to = settings.LOGIN_REDIRECT_URL return HttpResponseRedirect(redirect_to) request.session.set_test_cookie() return HttpResponseRedirect(settings.LOGIN_URL + '?' + urlencode({ 'testcookiesupport': '', redirect_field_name: redirect_to, })) elif 'testcookiesupport' in request.GET: if request.session.test_cookie_worked(): request.session.delete_test_cookie() if not redirect_to or '//' in redirect_to or ' ' in redirect_to: redirect_to = settings.LOGIN_REDIRECT_URL return HttpResponseRedirect(redirect_to) else: form = LoginForm() errorlist = forms.util.ErrorList() errorlist.append(_("Your Web browser doesn't appear to " "have cookies enabled. Cookies are required for logging in.")) form._errors = forms.util.ErrorDict() form._errors[forms.forms.NON_FIELD_ERRORS] = errorlist else: form = LoginForm() if Site._meta.installed: current_site = Site.objects.get_current() else: current_site = RequestSite(request) return render_to_response(template_name, { 'form': form, 'redirect_field_name': redirect_field_name, 'redirect_to': redirect_to, 'site_name': current_site.name, }, context_instance=RequestContext(request))
def loginform(context): form = LoginForm() user = context['request'].user return locals()