我正在尝试实现一个新的存储类,该类从 Django-Storages 中继承 S3BotoStorage。(http://code.larlet.fr/django-storages/src/83fa2f0ba20c/storages/backends/s3boto.py)
每当调用我的新类的 save 方法时,我想做一些其他的事情,然后调用 S3BotoStorage._save() 方法。像这样:
class CustomStorage(S3BotoStorage):
def __init__(self, *args, **kwargs):
super(CustomStorage, self).__init__(*args, **kwargs)
def _save(self,*args, **kwargs):
#Will do stuff there
print >> sys.stderr, "%s" % (self.bucket)
super(CustomStorage, self)._save(*args, **kwargs)
如果我没有此 CustomStorage._save() 方法,则一切正常(即调用 S3BotoStorage._save(name,content) 并将所有内容上传到 S3)。但是,如果我有这个新的 CustomStorage.save 方法,我会收到 500 错误。(它确实被调用了,因为我的错误消息出现在终端中)。我看不到任何调用堆栈或任何东西。
我试过了:
def save(self,*args, **kwargs):
def save(self,name, content):
这些都不起作用。
有任何想法吗?!
谢谢!