login with email
Posted by Anonymous
highlighted in
Plaintext
- ActionScript
- ActionScript 3
- Bash
- Brainfuck
- C
- C#
- C++
- CSS
- Diff
- Django/Jinja
- ERB
- Erlang
- Genshi
- Genshi Text
- Gettext Catalog
- HTML
- INI
- Java
- JavaScript
- Lua
- Mako
- Myghty
- MySQL
- Objective-C
- Perl
- PHP
- Plaintext
- Python
- Python 3
- Python console session
- Python Traceback
- RHTML
- Ruby
- Ruby irb session
- Smarty
- SQL
- VB.net
- XML
- XSLT
def login(request, template_name='registration/login.html', redirect_field_name=REDIRECT_FIELD_NAME):
"Displays the login form and handles the login action."
redirect_to = request.REQUEST.get(redirect_field_name, '')
if request.method == "POST":
form = EmailOrUsernameModelBackend(data=request.POST)
if form.is_valid():
# Light security check -- make sure redirect_to isn't garbage.
if not redirect_to or '//' in redirect_to or ' ' in redirect_to:
redirect_to = settings.LOGIN_REDIRECT_URL
from django.contrib.auth import login
login(request, form.get_user())
if request.session.test_cookie_worked():
request.session.delete_test_cookie()
return HttpResponseRedirect(redirect_to)
else:
form = EmailOrUsernameModelBackend(request)
request.session.set_test_cookie()
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_to,
'site': current_site,
'site_name': current_site.name,
}, context_instance=RequestContext(request))
login = never_cache(login)