diff --git a/django/contrib/admin/views/decorators.py b/django/contrib/admin/views/decorators.py index 3039daadb1..c27b2e7427 100644 --- a/django/contrib/admin/views/decorators.py +++ b/django/contrib/admin/views/decorators.py @@ -84,18 +84,13 @@ def staff_member_required(view_func): message = ERROR_MESSAGE if '@' in username: # Mistakenly entered e-mail address instead of username? Look it up. - try: - users = list(User.objects.filter(email=username)) - if len(users) == 1: - user = users[0] - else: - # Either we cannot find the user, or if more than 1 - # we cannot guess which user is the correct one. - raise User.DoesNotExist() - except User.DoesNotExist: - message = _("Usernames cannot contain the '@' character.") + users = list(User.objects.filter(email=username)) + if len(users) == 1: + message = _("Your e-mail address is not your username. Try '%s' instead.") % users[0].username else: - message = _("Your e-mail address is not your username. Try '%s' instead.") % user.username + # Either we cannot find the user, or if more than 1 + # we cannot guess which user is the correct one. + message = _("Usernames cannot contain the '@' character.") return _display_login_form(request, message) # The user data is correct; log in the user in and continue.