好吧,我几乎什么都试过了,但我不能让它工作。
我用六种不同的方式写了这段代码。
我遇到的问题是所有的代码,我写的结果如下行为: (1) Django将创建第二个文件,(2)重命名新文件,在文件名后面加上_,然后(3)不传输任何数据,让它基本上成为一个空的重命名文件。在'upload_to'路径中剩下的是2个文件,一个是实际的图像,另一个是图像的名称,但是是空的,当然ImageField路径被设置为Django尝试创建的空文件如果你不清楚,我将尝试说明:
## Image generation code runs....
/Upload
generated_image.jpg 4kb
## Attempt to set the ImageField path...
/Upload
generated_image.jpg 4kb
generated_image_.jpg 0kb
ImageField.Path = /Upload/generated_image_.jpg
我怎样才能做到这一点而不让Django重新存储文件呢?我真正想要的是这样的东西……
model.ImageField.path = generated_image_path
...当然这是行不通的。
是的,我已经在这里讨论了其他问题,比如这一个以及文件上的django文档
<强>更新 经过进一步的测试,它只有在Windows Server上的Apache下运行时才会执行此行为。当在XP的“runserver”下运行时,它不会执行此行为。< / p >
我被难住了。
下面是在XP上成功运行的代码…
f = open(thumb_path, 'r')
model.thumbnail = File(f)
model.save()