Вероятно, не очень хорошая идея обойти ожидаемую проверку регулярного выражения на username
, которая равна r'^\w+$'
(поэтому, очевидно, нет @
или .
). Кроме того, существует ограничение 30 символов на username
, поэтому многие адреса электронной почты не подходят.
Вам следует написать собственный аутентификационный бэкэнд, который аутентифицируется на основе фактического поля электронной почты - многие люди делают это, так что вы, вероятно, сможете найти образцы в djangosnippets.
Следует иметь в виду две вещи - по умолчанию поле электронной почты не является уникальным. Кроме того, вы почти наверняка сломаете приложение администратора, поэтому вам нужно будет поиграть, если вы хотите использовать contrib.admin.