You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django DRF不同URL对应认证行为异常问题求助

DRF无参数URL返回401,带参数URL正常访问的问题解决

问题原因

Python是大小写敏感语言,你在views.py中定义的视图类是CheckoutView(首字母大写),但urls.py里的视图引用写成了checkoutView.as_view()(首字母小写)。结合你描述的现象,推测仅带参数的URL正确引用了CheckoutView,而无参数的URL用了错误的类名——这导致无参数请求没有应用你设置的permission_classes = [AllowAny]权限规则,触发了DRF默认的IsAuthenticated权限校验,因此返回401错误。

解决方案

将urls.py中两个URL的视图类名统一修正为正确的CheckoutView.as_view(),确保大小写与视图类定义一致:

# url.py
urlpatterns = [
    path("cart/checkout/<int:new>", CheckoutView.as_view() , name="checkout"), # url 1
    path("cart/checkout/", CheckoutView.as_view() , name="checkout"), # url 2
]

验证要点

  • 确认项目中不存在其他名为checkoutView的视图类,避免标识符混淆
  • 修改后重新测试两个URL,均应返回200响应及预期的total_price数据

内容的提问来源于stack exchange,提问作者Irfan K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 12:27:42