视图 ecommerceapp.views.checkout 没有返回 HttpResponse 对象。它返回了无



我试图建立一个电子商务应用程序,我正在建立一个表单,当一个特定的支付选项被点击,url指向一个特定的。但是每当我尝试运行网站时,这个错误弹出:

The view ecommerceapp.views.checkout didn't return an HttpResponse object. It returned None instead.

Views.ps

def checkout(request):
def get(self, *args, **kwargs):
if request.method == 'POST':
form = checkoutForm(request.POST)
if form.is_valid():
# here is the place where your find the values in:
if form.cleaned_data['payment_option'] == 'Stripe':
return redirect('core:payment', payment_option='Stripe')
elif form.cleaned_data['payment_option'] == 'Paypal':
return redirect('core:payment', payment_option='Paypal')
return redirect(reverse('core:index'))
else:
form = checkoutForm()
return render(request, 'ecommerceapp/checkout.html', {'form': form,'items': OrderItem.objects.all(), 'orders': Order.objects.all()})

您混合了一些基于函数和基于类的视图概念。具体来说,你的get子函数永远不会被调用。你应该删除它:

def checkout(request, *args, **kwargs):
if request.method == 'POST':
form = checkoutForm(request.POST)
if form.is_valid():
# here is the place where your find the values in:
if form.cleaned_data['payment_option'] == 'Stripe':
return redirect('core:payment', payment_option='Stripe')
elif form.cleaned_data['payment_option'] == 'Paypal':
return redirect('core:payment', payment_option='Paypal')
return redirect(reverse('core:index'))
else:
form = checkoutForm()
return render(request, 'ecommerceapp/checkout.html', {'form': form,'items': OrderItem.objects.all(), 'orders': Order.objects.all()})

最新更新