render関数とredirect関数
render()
render()は「結果をウェブページに表示」する機能
return render(request, template, context)
第一引数で「requestオブジェクト」を受け取り、 第二引数で「表示するhtmlテンプレート」を指定し、 第三引数で「テンプレートに渡す変数」を指定します。
redirect()
redirect()は「どのURLを開くか指定」する機能
return redirect('app_name:view_name', id=id)
第一引数で「移動先のURL」を指定し、 第二引数で「urls.pyに渡す変数」を定義します。
TemplateResponseとreverse_lazy
これらはクラスベースビュー版のrender()とredirect()と考えて良いと思います。
○TemplateResponse → render()
○reverse_lazy → redirect()
reverse_lazy
success_url = reverse_lazy(‘app_name:view_name’)
単純にリダイレクト先のURLを指定するのみです。 つまり役割がredirect()と同じだと分かります。