From 6aae9b2aa413b16e77e864ac69aa616aa7e2d969 Mon Sep 17 00:00:00 2001 From: Adrian Holovaty Date: Tue, 14 Aug 2007 22:08:11 +0000 Subject: [PATCH] Changed django.contrib.auth.views.login to use RequestSite if the sites framework is not installed -- i.e., the sites framework is no longer required to use this view. See also [5654] git-svn-id: http://code.djangoproject.com/svn/django/trunk@5885 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/contrib/auth/views.py | 10 ++++++++-- docs/authentication.txt | 5 ++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/django/contrib/auth/views.py b/django/contrib/auth/views.py index 141f710bfd..a0dc59c718 100644 --- a/django/contrib/auth/views.py +++ b/django/contrib/auth/views.py @@ -3,7 +3,7 @@ from django.contrib.auth.forms import PasswordResetForm, PasswordChangeForm from django import oldforms from django.shortcuts import render_to_response from django.template import RequestContext -from django.contrib.sites.models import Site +from django.contrib.sites.models import Site, RequestSite from django.http import HttpResponseRedirect from django.contrib.auth.decorators import login_required from django.contrib.auth import REDIRECT_FIELD_NAME @@ -27,10 +27,16 @@ def login(request, template_name='registration/login.html'): else: errors = {} request.session.set_test_cookie() + + if Site._meta.installed: + current_site = Site.objects.get_current() + else: + current_site = RequestSite(self.request) + return render_to_response(template_name, { 'form': oldforms.FormWrapper(manipulator, request.POST, errors), REDIRECT_FIELD_NAME: redirect_to, - 'site_name': Site.objects.get_current().name, + 'site_name': current_site.name, }, context_instance=RequestContext(request)) def logout(request, next_page=None, template_name='registration/logged_out.html'): diff --git a/docs/authentication.txt b/docs/authentication.txt index 0f96504c74..7860b59d7d 100644 --- a/docs/authentication.txt +++ b/docs/authentication.txt @@ -436,7 +436,10 @@ template context variables: * ``next``: The URL to redirect to after successful login. This may contain a query string, too. * ``site_name``: The name of the current ``Site``, according to the - ``SITE_ID`` setting. See the `site framework docs`_. + ``SITE_ID`` setting. If you're using the Django development version and + you don't have the site framework installed, this will be set to the + value of ``request.META['SERVER_NAME']``. For more on sites, see the + `site framework docs`_. If you'd prefer not to call the template ``registration/login.html``, you can pass the ``template_name`` parameter via the extra arguments to the view in