Я использую Django all_auth и rest_auth для серверной службы приложения mobile .
Я интегрировал API регистрации и входа, и все работает нормально.
Теперь я должен интегрировать логику проверки адреса электронной почты.
После регистрации (без соц. Связи) мне необходимо отправить электронное письмо со ссылкой, которую пользователь будет использовать для проверки вашей учетной записи.
Я добавил эти конфигурации в мои Django настройки:
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
SOCIALACCOUNT_EMAIL_VERIFICATION = 'none'
Также это прекрасно работает. Я могу получить электронное письмо после регистрации новой учетной записи. В полученном электронном письме у меня также есть ссылка для подтверждения учетной записи.
Я хотел бы получить подтверждение по электронной почте, когда пользователь просто щелкнет ссылку.
Итак, я хотел бы использовать только метод GET HTTP .
Я добавил, как предложено в документации, этот параметр также:
ACCOUNT_CONFIRM_EMAIL_ON_GET = True
Я использую этот URL, связанный с представлениями all_auth.
from allauth.account.views import ConfirmEmailView
url(r'^account-confirm-email/', ConfirmEmailView.as_view(), name='account_email_verification_sent'),
url(r'^account-confirm-email/(?P<key>[-:\w]+)/$', ConfirmEmailView.as_view(), name='account_confirm_email'),
Но, если я пытаюсь нажать на ссылку из полученного письма, я получаю эту ошибку:
KeyError at /account-confirm-email/NzU:1hjl8A:z5Riy8Bjv_h0zJQtoYKuTkKvRLk/
'key'
/allauth/account/views.py in get
self.object = self.get_object() ...
▶ Local vars
/allauth/account/views.py in get_object
key = self.kwargs['key'] ...
▶ Local vars
Это говорит о том, что этого параметра недостаточно, чтобы иметь возможность использовать проверку электронной почты с помощью метода GET.
Должен ли я переписать для этого пользовательское представление Django?