Django 查看ecommerceapp.views.checkout没有';t返回HttpResponse对象。它没有返回任何结果
我正在尝试构建一个电子商务应用程序,我正在构建一个表单,当点击一个特定的支付选项时,url指向一个特定的支付选项。但每当我尝试运行该网站时,就会出现以下错误:Django 查看ecommerceapp.views.checkout没有';t返回HttpResponse对象。它没有返回任何结果,django,Django,我正在尝试构建一个电子商务应用程序,我正在构建一个表单,当点击一个特定的支付选项时,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):
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()})