Django Rest Framework djoser 激活问题

Posted

技术标签:

【中文标题】Django Rest Framework djoser 激活问题【英文标题】:Django Rest Framework djoser activation problem 【发布时间】:2020-12-27 09:14:48 【问题描述】:

我知道有很多类似这个问题的问题,但我真的需要你的帮助。我正在尝试通过电子邮件验证激活帐户,但我无法激活帐户我发送的链接不是激活帐户。

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】:
"ACTIVATION_URL": 'auth/activation/uid/token', 

这是正确的形式。

【讨论】:

以上是关于Django Rest Framework djoser 激活问题的主要内容,如果未能解决你的问题,请参考以下文章

怎么安装django rest framework

django rest framework中文介绍

17-Django-Django REST framework-REST framework及RESTful简介

为啥 django-rest-framework 不显示 OneToOneField 数据 - django

Django:rest framework之分页(Pagination)

django使用rest_framework