if re.compile("^.+@.+\..{2,3}$").match (login) != None:Как по мне, весьма изящно и быстро. При желании можно оформить в виде просто отдельной функции, бэкенда (нежелательно) или встроить в ядро Джанго (крайне нежелательно).
try:
login = User.objects.get (email = login).username
except:
#authorization fail
else:
try:
login = User.objects.get (first_name = login).username
except:
#authorization fail
суббота, 8 мая 2010 г.
Авторизация через логин или адрес почты в Django
Привожу кусок исходного кода модуля авторизации сайта TrentaQuattro.ru. Он позволяет авторизовать пользователя по логину или электронному адресу без использования дополнительных бэкендов, которые и установить-то смогут не всякие, а хостеры уж подавно никогда не установят в здравом уме и трезвом рассудке.
Подписаться на:
Сообщения (Atom)