Django访问/cart/报错'Cart' object has no attribute 'get'排查求助
问题根因
你的carts应用下的urls.py配置存在拼写错误:你将根路径对应的视图写成了views.Cart,此处大写的Cart是你从models中导入的Cart模型类,而非你定义的小写cart视图函数。Django收到请求后调用Cart模型类返回了模型实例,但Django中间件要求视图必须返回HttpResponse对象,中间件尝试调用返回对象的get方法时就触发了本次报错。
解决方法
- 修改carts应用下的
urls.py配置,将views.Cart修正为views.cart,修正后的完整代码如下:
from django.urls import path from . import views urlpatterns = [ path('', views.cart, name='cart'), path('add_cart/<int:product_id>/', views.add_cart, name='add_cart'), ]
- 可选优化:后续开发中尽量避免视图和模型使用相似的命名,比如可以将购物车视图重命名为
cart_view,降低大小写拼写失误的概率。
内容的提问来源于stack exchange,提问作者asdfasdf
相关产品推荐
相关产品推荐

