Zapisywanie programowe obrazu w Django ImageField

Ok, próbowałem prawie wszystko i nie mogę tego zrobić.

Mam na nim model Django z ImageFieldMam kod, który pobiera obraz przez HTTP (testowany i działa)Obraz jest zapisywany bezpośrednio w folderze „upload_to” (upload_to jest tym, który jest ustawiony w ImageField)Wszystko, co muszę zrobić, to powiązać istniejącą ścieżkę pliku obrazu z ImageField

Napisałem ten kod na 6 różnych sposobów.

Problem, na który wpadam, to cały kod, który piszę, powoduje następujące zachowanie: (1) Django utworzy drugi plik, (2) zmieni nazwę nowego pliku, dodając _ na końcu pliku nazwa, a następnie (3) nie przesyła żadnych danych, pozostawiając w zasadzie pusty plik o zmienionej nazwie. W ścieżce „upload_to” pozostały 2 pliki, jeden będący rzeczywistym obrazem, a drugi będący nazwą obrazu, ale pusty, i oczywiście ścieżka ImageField jest ustawiona na pusty plik, który Django próbuje utworzyć .

W przypadku niejasności postaram się zilustrować:

## 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

Jak mogę to zrobić bez konieczności ponownego zapisywania pliku przez Django? To, co naprawdę bym chciał, to coś takiego ...

model.ImageField.path = generated_image_path

... ale oczywiście to nie działa.

I tak, przeszedłem tutaj przez inne pytaniaten tak samo jak doc djangoPlik

AKTUALIZACJA Po dalszych testach zachowuje się tylko podczas uruchamiania w Apache na Windows Server. Działając pod „runserver” na XP, nie wykonuje tego zachowania.

Jestem zakłopotany.

Oto kod, który działa pomyślnie na XP ...

f = open(thumb_path, 'r')
model.thumbnail = File(f)
model.save()

questionAnswers(14)

yourAnswerToTheQuestion