Удалить поле "Имя пользователя" из django-allauth

когда django-регистрация не поддерживает django 1.5 и пользовательскую модель пользователя. Я пытаюсь использовать django-allauth, с первого взгляда это отличный продукт.

проблема у меня есть-требуется поле имени пользователя, но в моем приложении у меня нет имени пользователя. Итак, в документации allauth говорится:

**Available settings:**
ACCOUNT_AUTHENTICATION_METHOD (="username" | "email" | "username_email")

указывает метод входа в систему-входит ли пользователь в систему, введя свое имя пользователя, адрес электронной почты или один из обоих.

хорошо, я закончил и получил ошибка:

AssertionError at /accounts/signup/
No exception supplied

models.py:

class MyUser(AbstractBaseUser, PermissionsMixin):
    title = models.CharField ('Name', max_length=100)
    email = models.EmailField('Email', max_length=255, unique=True)
    ...

settings.py

ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_AUTHENTICATION_METHOD = ('email')
AUTH_USER_MODEL = 'internboard.MyUser'

что я делаю неправильно ?

2 ответов


Спасибо, я нашел правильные настройки для моих задач:

ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_USERNAME_REQUIRED = False

Если вы столкнулись с ошибкой django.core.exceptions.FieldDoesNotExist: Account has no field named 'username' with reference toUSER_MODEL_USERNAME_FIELD` в stacktrace необходимы следующие настройки:

ACCOUNT_USER_MODEL_USERNAME_FIELD = None
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_AUTHENTICATION_METHOD = 'email'