Регистрация пользователя django djoser с подтверждением по электронной почте

Я использую Django и djoser в качестве серверной части для мобильного приложения.

Когда я делаю следующий запрос POST:

curl -X POST http://127.0.0.1:8000/auth/users/ --data 'username=myusername&email=myemail&password=mypwd'

Я получаю письмо на свой адрес электронной почты со ссылкой для активации с правильным идентификатором uid и токеном.

Затем я пытаюсь активировать пользователя, выполнив:

curl -X POST http://127.0.0.1/auth/users/activation/ --data 'uid=myuid&token=mytoken'

После этого я получаю ответ 404 НЕ НАЙДЕН. В документации Djoser указано, что конечная точка активации - / users / activation /.

Мой urls.py выглядит следующим образом:

from django.contrib import admin
from django.urls import include, path, re_path


urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/v1/', include('api.urls')),
    re_path(r'^auth/', include('djoser.urls')),
]

Кто-нибудь знает, что я делаю не так?

Спасибо большое за Вашу поддержку!


person sergi torrabadella    schedule 10.12.2019    source источник


Ответы (1)


Я уже нашел свою ошибку, это так глупо. Я вернулся сюда только для записи.

curl -X POST http://127.0.0.1/auth/users/activation/ --data 'uid=myuid&token=mytoken'

В URL-адресе, использованном для активации, не указан ПОРТ.

Должно получиться так (в моем случае):

curl -X POST http://127.0.0.1:8000/auth/users/activation/ --data 'uid=myuid&token=mytoken'
person sergi torrabadella    schedule 11.12.2019