オブジェクト作成の成功メッセージを表示するデコレータを作成しました。
from django.contrib import messages
def success_message(klass):
def form_valid(self, form):
response = super(klass, self).form_valid(form)
messages.success(self.request, 'Object added successfully')
return response
klass.form_valid = form_valid
return klass
クラスベースのジェネリックビューを装飾するために使用します。
@success_message
class BandCreateView(CreateView):
model = Band
ここで、デコレータをパラメータ化して、これが可能になるようにします。
@success_message('Band created successfully.')
class BandCreateView(CreateView):
model = Band
どうすればいいのですか?message
にパラメータを追加しようとしましsuccess_message
たが、コンパイラがパラメータ数の不一致について文句を言ったので、別の方法があるはずだと思います。