首页 > 解决方案 > 使用 JWT 令牌将帖子与 React 和 Django 中的用户相关联

问题描述

我想将帖子与登录用户、React 和 Django 应用程序相关联。我已经尝试过了,但遇到了未经授权的错误,

设置.py

REST_FRAMEWORK = {
# 'DEFAULT_PERMISSION_CLASSES': [
#     'rest_framework.permissions.IsAuthenticated'
# ],
'DEFAULT_AUTHENTICATION_CLASSES': (
    'rest_framework_simplejwt.authentication.JWTAuthentication',
),
}


SIMPLE_JWT = {
'AUTH_HEADER_TYPES': ('JWT',),
'ACCESS_TOKEN_LIFETIME': timedelta(minutes=60),
'REFRESH_TOKEN_LIFETIME': timedelta(days=1),
'AUTH_TOKEN_CLASSES': (
    'rest_framework_simplejwt.tokens.AccessToken',
)
}

我的序列化程序.py

class PoultryCreateSerializer(serializers.ModelSerializer):
class Meta:
    model = Poultry
    fields = ('title', 'price', 'category', 'description',
              'image', 'county', 'subcounty', 'location', 'contact')
    read_only_fields = ['seller']

视图.py

@api_view(["POST"])
@authentication_classes([authentication.TokenAuthentication])
@permission_classes([permissions.IsAuthenticated])
def poultrycreate(request):
print(request.user)
parser_classes = (MultiPartParser, FormParser)
serializer = PoultryCreateSerializer(data=request.data)
if serializer.is_valid():
    serializer.save(seller=request.user)
    return Response(serializer.data, status=status.HTTP_201_CREATED)
# print('error', serializer.errors)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

标签: reactjsdjangojwt

解决方案


推荐阅读