我不认为有太多的解释,问题是直截了当的。我听到一个错误说 编辑:我在底部添加了完整的错误回溯
错误:
"if i in items:
NameError: name 'items' is not defined"
代码:
class Cart:
items = {}
def addToCart(item):
global items
for i in item:
if i in items:
items[i] += item[i]
else:
items.update(item)
def removeFromCart(item):
global items
for i in item:
if i in items and items[i] > 1:
items[i] -= 1
elif i in items and items[i] <= 1:
items.pop(i, None)
函数的调用方式:
...
from .cart import Cart
...
@action(detail=True, methods=["POST"])
def addToCart(self, request, pk=None):
item = request.data['item']
Cart.addToCart(item)
response = Cart.items
return Response(response, status = status.HTTP_200_OK)
内部服务器错误:/api/Orders/1/addToCart/ 回溯(最近一次呼叫最后一次): 文件“/home/bigmac/anaconda3/lib/python3.7/site packages/django/core/handlers/exception.py”,第34行,在内部 响应=获取响应(请求) 文件“/home/bigmac/anaconda3/lib/python3.7/site packages/django/core/handlers/base.py”,第115行,在“获取”响应中 response=self.process\u异常\u由\u中间件(e,请求) 文件“/home/bigmac/anaconda3/lib/python3.7/site packages/django/core/handlers/base.py”,第113行,在“获取”响应中 响应=包装的回调(请求,*回调参数,**回调参数) 文件“/home/bigmac/anaconda3/lib/python3.7/site packages/django/views/decorators/csrf.py”,包装视图中的第54行 返回视图函数(*args,**kwargs) 文件“/home/bigmac/anaconda3/lib/python3.7/site packages/rest\u framework/viewsets.py”,第125行,在视图中 返回自调度(请求,*args,**kwargs) 文件“/home/bigmac/anaconda3/lib/python3.7/site-packages/rest\u-framework/views.py”,第509行,已发送 响应=自身处理异常(exc) handle_异常中的文件“/home/bigmac/anaconda3/lib/python3.7/site packages/rest_framework/views.py”,第469行 自举未捕获异常(exc) 文件“/home/bigmac/anaconda3/lib/python3.7/site packages/rest\u framework/views.py”,第480行,在raise\u uncaught\u异常中 加薪 文件“/home/bigmac/anaconda3/lib/python3.7/site-packages/rest_-framework/views.py”,第506行,已发送 响应=处理程序(请求、*args、**kwargs) 文件“/home/bigmac/Documents/Bernard_Quests/ALUTA3.0/ALUTA/api/views.py”,第89行,addToCart Cart.addToCart(项目) 文件“/home/bigmac/Documents/Bernard_Quests/ALUTA3.0/ALUTA/api/cart.py”,第7行,addToCart 如果我在项目中: NameError:未定义名称“items”
试试这个
在使用全局作用域之前,还应在全局作用域中声明项
请参阅此https://docs.python.org/3/reference/simple_stmts.html#the-global-statement
相关问题 更多 >
编程相关推荐