Django Rest Framework djoser激活问题

时间:2020-09-09 00:24:41

标签: python django django-rest-framework djoser

我知道有很多类似此问题的问题,但是我确实需要您的帮助。我正在尝试通过电子邮件验证来激活帐户,但是我无法激活该帐户,而我正在发送的链接并未激活该帐户。

urlpatterns = [
path('admin/', admin.site.urls),
path('auth/', include('authapp.urls'))]

这是我的主要网址。我在authapp中写了这些网址。

urlpatterns = [
path('', include('djoser.urls')),
path('', include('djoser.urls.authtoken')),
path('activation/<str:uid>/<str:token>/', UserActivationView.as_view()),]

我的设置如下:

 DJOSER = {
'LOGIN_FIELD':'email',
'USER_CREATE_PASSWORD_RETYPE':True,
'SERIALIZERS':{
    'user_create':'authapp.serializer.UserCreateSerializer',
    'user': 'authapp.serializer.UserCreateSerializer',


},
"ACTIVATION_URL": 'auth/request_activate/{uid}/{token}',
"SEND_ACTIVATION_EMAIL": True,
}

这是我的view.py:

from rest_framework.response import Response
from rest_framework.views import APIView

import requests


    class UserActivationView(APIView):
        def get (self, request, uid, token):
            protocol = 'https://' if request.is_secure() else 'http://'
            web_url = protocol + request.get_host()
            post_url = web_url + "/auth/users/activation/"
            post_data = {'uid': uid, 'token': token}
            result = requests.post(post_url, data = post_data)
            content = result.text()
            return Response(content)

我几乎尝试了所有解决方案,但是没有用。希望您能帮助我。谢谢。

1 个答案:

答案 0 :(得分:0)

"ACTIVATION_URL": 'auth/activation/{uid}/{token}', 

这是正确的形式。