2
私のプロジェクトでは、order detail
ページがあります。このページには複数のフォームがあります(返品注文、配送注文など)フォームエラーでDjangoでリダイレクトする方法は?
これらのフォームはそれぞれ異なるビューを使用して処理されます。
たとえば、返品オーダーフォームにはorder_return
ビューを呼び出すアクションがあり、ReturnOrderForm
が有効な場合はorder_detail
にリダイレクトされます。
ReturnOrderForm
にエラーがあると問題が発生します。 order_detail
に戻ってエラーを表示したいと思います。
今のところ、私はちょうど良い動作しますが、URLはorder_detail
URLに変更されていないエラーが発生した場合にはorder_return
ビュー、内部のorder_detail
をレンダリングします。 HttpResponseRedirect
を使用しますが、エラーの処理方法はわかりません。
ご意見はありますか?
def order_return(request):
return_order_form = ReturnOrderForm(request.POST or None)
order_id = request.POST.get('order_id')
order = Job.objects.get(id=order_id)
if request.method == 'POST':
if return_order_form.is_valid():
...
order.delivery.return_delivery(notes=customer_notes)
return HttpResponseRedirect(reverse("order_detail", args=(order_id,)))
return render(request, "ordersapp/order_detail/order-detail.html",
context={'return_order_form': return_order_form,
...})
を返すことができるようになります詳細レスポンスに
を返すことができる共有方法することができます:要求を確認するif文を'is_valid'は有効なポストデータがなければ決して成功しないので、あなたのコードではメソッドは必要ありません – Sayse