更新完了時や削除完了時にもフラッシュメッセージを表示してみよう.なお,Django verseion 3 系において DeleteView のフラッシュメッセージを表示できていたコードをそのまま利用しても Django version 4 系では機能しないようです.次のようなコードであれば表示できるはずです.
comments/views.py (抜粋)
class UpdateCommentView(UpdateView):
model = Comment
form_class = CommentForm
success_url = reverse_lazy('comments:index')
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['page_title'] = 'コメントの更新'
context['form_name'] = 'コメントの更新'
context['button_label'] = 'コメントを更新する'
return context
def form_valid(self, form):
self.object = comment = form.save()
messages.success(self.request, 'コメントを更新しました')
return redirect(self.get_success_url())
class DeleteCommentView(DeleteView):
model = Comment
success_url = reverse_lazy('comments:index')
def form_valid(self, form):
messages.success(self.request, 'コメントを削除しました')
return super().form_valid(form)