と、アップロードした後、ポストプロセスイメージpre_saveシグナルで:ジャンゴ - 私は画像を操作したい動的パラメータ私は、ユーザーにユーザー定義のパラメータ(幅、高さ、圧縮など)</p> <p>を使用して、アップロードした画像を、プロセスを投稿する機能を提供したい
class Media(models.Model):
id = models.AutoField(primary_key=True)
file = models.FileField(upload_to='uploads/%m-%Y/')
content_type = models.CharField(max_length=100, blank=True, null=True)
created = models.DateTimeField(auto_now_add=True, editable=False)
class MediaForm(ModelForm):
class Meta:
model = Media
def save(self, force_insert=False, force_update=False, commit=True):
m = super(MediaForm, self).save(commit=False)
m.content_type = self.cleaned_data['file'].content_type
if commit:
m.save()
def handle_uploaded_media(sender, instance, *args, **kwards):
# Use PIL to process media here (depending on type)
models.signals.pre_save.connect(handle_uploaded_media, sender=Media)
問題は、フォーム保存メソッドからpre_saveハンドラにパラメータを渡すことができないことです。それはきちんと整頓だと私は明らかにユーザー定義された値と保存の引数を置き換えることができますので
if request.method == 'POST':
form = MediaForm(request.POST, request.FILES)
if form.is_valid():
form.save({'width':500, 'height':500, 'compression':60})
:私が好きなことは、このような何かを行うことができるようにすることです。これは可能ですか?それを行うより良い方法はありますか?