好的,我已经尝试了几乎所有内容,但无法正常工作。
- 我有一个上面带有ImageField的Django模型
- 我有通过HTTP下载图像的代码(已测试并且可以工作)
- 图像直接保存到“ upload_to”文件夹中(upload_to是在ImageField上设置的文件夹)
- 我需要做的就是将已经存在的图像文件路径与ImageField相关联
我已经用6种不同的方式编写了这段代码。
我遇到的问题是我正在编写的所有代码均导致以下行为:(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的DOC 文件
更新 在进一步测试之后,仅当在Windows Server上的Apache下运行时,它才会执行此行为。在XP上的“ runserver”下运行时,它不会执行此行为。
我很沮丧
这是在XP上成功运行的代码...
f = open(thumb_path, 'r')
model.thumbnail = File(f)
model.save()