ठीक है, मैं सब कुछ के पास के बारे में कोशिश की है और मैं यह काम करने के लिए नहीं मिल सकता है।
- मैं इस पर एक ImageField के साथ एक Django मॉडल है
- मेरे पास एक कोड है जो HTTP के माध्यम से एक छवि डाउनलोड करता है (परीक्षण और काम करता है)
- छवि को सीधे 'upload_to' फ़ोल्डर में अपलोड किया गया है (upload_to वह है जो ImageField पर सेट है)
- मुझे केवल छविफ़िल्ड के साथ पहले से मौजूद छवि फ़ाइल पथ के सहयोगी होने की आवश्यकता है
मैंने इस कोड को 6 अलग-अलग तरीकों से लिखा है।
मैं जिस समस्या में चल रहा हूं, वह सभी कोड है जो मैं निम्नलिखित व्यवहार में परिणाम लिख रहा हूं: (1) Django 2 फ़ाइल बनाएगा, (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
अद्यतन आगे के परीक्षण के बाद, यह केवल विंडोज सर्वर पर अपाचे के तहत चलने पर यह व्यवहार करता है। एक्सपी पर 'रनसेवर' के तहत चलने के दौरान यह इस व्यवहार को निष्पादित नहीं करता है।
मैं स्तब्ध हूं।
यहाँ कोड है जो XP पर सफलतापूर्वक चलता है ...
f = open(thumb_path, 'r')
model.thumbnail = File(f)
model.save()