我写了一个装饰器来显示对象创建的成功消息:
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
但编译器抱怨参数计数不匹配,所以我认为必须有另一种方法。