gpt4 book ai didi

python - Django REST Framework Web 登录不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 09:37:54 25 4
gpt4 key购买 nike

我似乎无法弄清楚为什么我的 django 项目中的休息框架登录不起作用...我在那里有登录链接和所有它确实将我重定向到休息登录页面但是在填写之后在我的凭据中单击登录,它只是将我带回到我来自的页面,但它似乎没有对我进行身份验证,因为它仍然在右上角显示“登录”...

This is the login button I am talking about.

在这种情况下,我希望它会更改为“admin”,因为我正在尝试使用名为“admin”的 super 用户登录...

我肯定遗漏了什么..

这是我的 REST Urls

path("rest/auctions", auction_list, name="auction-list"),
path('rest/auctions/<int:pk>', auction_detail, name="auction-detail"),
path('rest-auth/', include('rest_framework.urls', namespace='rest_framework')),

我知道的 rest-auth/是以某种方式添加登录按钮和所有(魔术?)但也许我还必须做其他事情才能使其进行身份验证?我不知道...我正在使用内置的 django 身份验证系统和用户模型。

views.py

@api_view(['GET'])
def auction_list(request, format=None):
if request.method == 'GET':
query = request.GET.get('q')
if query is not None:
auctions = Auction.objects.filter(Q(title__icontains=query), deadline__gte=timezone.now(),
status=Auction.STATUS_ACTIVE)
else:
auctions = Auction.objects.all()
serializer = AuctionSerializer(auctions, many=True, context={'request': request})
return Response(serializer.data)

序列化器.py

class AuctionSerializer(serializers.ModelSerializer):
winning_bid = serializers.SlugRelatedField(many=False, read_only=True, slug_field='amount', allow_null=True)
seller = serializers.SlugRelatedField(many=False, read_only=True, slug_field='username', allow_null=False)

class Meta:
model = Auction
fields = ('id', 'url', 'title', 'description', 'deadline', 'min_price', 'winning_bid', 'seller')

在我的Settings.py

REST_FRAMEWORK = {
# Use Django's standard `django.contrib.auth` permissions,
# or allow read-only access for unauthenticated users.
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticatedOrReadOnly'
],
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.BasicAuthentication',
],
}

最后我要提到的是,当我通过 Postman 使用 API 时,身份验证是有效的。

最佳答案

如果其他解决方案不起作用,也添加此行

'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.SessionAuthentication',
),

关于python - Django REST Framework Web 登录不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52974549/

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