Python 有一个账单页面,我填写所有详细信息,然后单击“生成账单”按钮,然后生成发票页面
有一个账单页面,我填写所有详细信息,然后点击“制作账单”按钮,然后应该生成发票页面,它不会出现 views.pyPython 有一个账单页面,我填写所有详细信息,然后单击“生成账单”按钮,然后生成发票页面,python,django,Python,Django,有一个账单页面,我填写所有详细信息,然后点击“制作账单”按钮,然后应该生成发票页面,它不会出现 views.py def makebill(request): if request.method == "POST": cart = request.POST.get('cart') price = request.POST.get('price') n = request.POST.get('name')
def makebill(request):
if request.method == "POST":
cart = request.POST.get('cart')
price = request.POST.get('price')
n = request.POST.get('name')
phone = request.POST.get('phone')
data = json.loads(cart)
for c in data:
name = c['name']
qty = c['qty']
prod = Product.objects.get(name=name)
prod.qty = prod.qty - int(qty)
if prod.qty <= 0:
messages.warning(request, f'{prod.name} has finished')
prod.delete()
else:
prod.save()
p= Sales(items_json=cart, amount=price, name=n, phone=phone)
p.save()
total = price
product = Product.objects.all().order_by('name')
product_list = list(product.values('name', 'cost'))
context = {}
context["product"] = json.dumps(product_list)
try:
context["total"] = total
except:
pass
return render(request, 'makebill.html', context)
def makebill(请求):
如果request.method==“POST”:
购物车=request.POST.get('cart')
price=request.POST.get('price')
n=request.POST.get('name')
phone=request.POST.get('phone')
data=json.load(购物车)
对于数据中的c:
name=c['name']
数量=c[“数量”]
prod=Product.objects.get(name=name)
生产数量=生产数量-整数(数量)
如果产品数量,页面怎么会不显示?你的错误是什么?是HTTP 500还是别的什么?请详细说明这个问题。此外,代码的缩进看起来也不正常。小心,最后9行在post请求之外。每当我填写表格并单击“制作账单”时,我不会收到任何错误,然后我会被重定向到同一页面。我想重定向到发票页面,而不是重定向到同一页面。代码的缩进可以吗?看起来不像。最后9行应该缩进。如果在你的帖子上看起来像这样,但是你的代码是正确的,那么在这里也修复它,因为它让人困惑。也仍然没有帮助解决这个错误。您的后端是否从前端收到请求?它返回了什么?如果我缩进代码,这个错误会显示“视图home.views.makebill没有返回HttpResponse对象,而是没有返回任何对象。”