从输入框中提取特定数量会产生错误
book_details.html
<form class="single-product-cart" action="" method="POST">
<input type="number" name="qty" value="1">
<a href="{{book.get_add_to_cart_url}}" type="submit" name="add-to-cart" class="single_add_to_cart_button btn alt" style="margin-bottom:10px;">Add to cart</a>
</form>
views.py
class BookDetailView(generic.DetailView):
template_name = 'book_detail.html'
model = book
def get_context_data(self, **kwargs):
context = super(BookDetailView, self).get_context_data(**kwargs)
context['book_list'] = book.objects.all().order_by('-id')[:6]
context['related'] = book.objects.all()
return context
def add_to_cart(request, slug):
Book = get_object_or_404(book, slug=slug)
order_book, created = orderbook.objects.get_or_create(
Book=Book, user=request.user, ordered=False)
order_qs = Order.objects.filter(user=request.user, ordered=False)
if order_qs.exists():
order = order_qs[0]
if order.books.filter(Book__slug=Book.slug).exists():
quant = request.POST.get('qty')
order_book.quantity += int(quant)
order_book.save()
else:
order.books.add(order_book)
else:
ordered_date = timezone.now()
order = Order.objects.create(
user=request.user, ordered_date=ordered_date)
order.books.add(order_book)
return redirect(request.META['HTTP_REFERER'])
我在'order_book.quantity + = int(quant)'中遇到问题,它显示“异常值:int()参数必须是字符串,类似字节的对象或数字,而不是'NoneType'”。
并且未在'quant = request.POST.get('qty')'print(quant)
处获取数量值时显示'none'。