gpt4 book ai didi

django - 我收到此错误 rest_framework.request.WrappedAttributeError

转载 作者:行者123 更新时间:2023-12-05 00:48:24 26 4
gpt4 key购买 nike

我正在尝试将我的 django 1.9 升级到 django 2.0。它对 GET() 工作正常,但在 POST() 中出现错误。我的 views.py 是:-

class AccountInfoUpdate(APIView):
authentication_classes = [IsAuthenticated]

def post(self, request):
user = request.user
user_profile = UserProfile.objects.get(user=user)
name = False
contact = False
if "name" in request.data:
user_profile.name = request.data.get('name')
user_profile.save()
name = True
if "contact" in request.data:
user_profile.contact = request.data.get('contact')
user_profile.save()
contact = True

if user_profile.affiliate_code is not None and (name or contact):
result = service.update_affiliate(user_profile.affiliate_code, name=user_profile.name,
contact=user_profile.contact)

return Response({'Message': 'Account info updated successfully!'})

我收到此错误:-

user_auth_tuple = authenticator.authenticate(self)
rest_framework.request.WrappedAttributeError: 'IsAuthenticated' object has no attribute 'authenticate'

如果我从 REST_FRAMEWORK 中删除或评论 'rest_framework.authentication.SessionAuthentication',,那么我会收到此错误 CSRF Failed: CSRF token missing or wrong

我尝试了 permission_classes = [IsAuthenticated] 并在 Postman 上闲置,但仍然遇到同样的错误。

enter image description here

enter image description here

enter image description here

最佳答案

IsAuthenticatedPermission Class 而不是 Authentication 类。所以应该是


class AccountInfoUpdate(APIView):
<b>permission_classes</b> = [IsAuthenticated]
# your code



UPDATE-1
如何解决CSRF Failed错误

1. 在POSTMAN中打开一个新标签
POSTMAN Screenshot2. 提供网址(1)3. 进入 Authorization 选项卡(2) 并设置 Basic Auth 然后提供您的用户名和密码
4. 然后转到 Body 选项卡,输入您的 JSON 有效负载。5. 点击发送按钮。给你

关于django - 我收到此错误 rest_framework.request.WrappedAttributeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51355484/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com