संपादित करें: जवाब ऊपर चुने का उपयोग करें - नीचे कोड प्रश्न के लिए काम करता है, लेकिन यह अनुशंसित नहीं है।
छवि फ़ाइल अपलोड किए जा रहे में पाया जा सकता:
request.FILES['image'] # assuming input name is called 'image'
यह आप एक छवि वस्तु वापस नहीं करता है, बल्कि एक UploadedFile वस्तु। आप दस्तावेज़ों के इस हिस्से को पढ़ सकते हैं (मुझे लगता है कि आप Django 1.3.x का उपयोग कर रहे हैं): https://docs.djangoproject.com/en/1.3/topics/http/file-uploads/#handling-uploaded-files
इसमें अपलोड किए गए फ़ाइल ऑब्जेक्ट में उपलब्ध फ़ील्ड और विधियों को शामिल किया गया है, और फ़ाइल अपलोड मैन्युअल रूप से प्रबंधित करने का एक आम तरीका भी है। आप छवि फ़ाइल को फ़ाइल ऑब्जेक्ट में लिखने के लिए उसी विधि का उपयोग कर सकते हैं और फिर इसे अपनी छवि फ़ील्ड में सहेज सकते हैं।
निम्नलिखित कोड काम करना चाहिए, लेकिन यह सुरक्षित कोड नहीं है। मुझे लगता है कि आप * निक्स मशीन का उपयोग कर रहे हैं, यदि नहीं, गंतव्य फ़ाइल को कहीं और सहेजें।
@csrf_exempt
def saveImage(request):
# warning, code might not be safe
up_file = request.FILES['image']
destination = open('/tmp/' + up_file.name , 'wb+')
for chunk in up_file.chunks():
destination.write(chunk)
destination.close()
img = someImage()
img.image.save(up_file.name, File(open('/tmp/' + up_file.name, 'r')))
img.save()
# return any response you want after this
अन्य बातों पर ध्यान देना: सुनिश्चित करें कि आप के रूप में कार्य करने के लिए निम्न विशेषता है:
<form enctype="multipart/form-data" ... >
मैं इस प्रयोग को याद नहीं है सामान्य जा रहा है, लेकिन वास्तव में, प्रपत्र सिफारिश की है।
स्रोत
2012-01-11 16:35:53
पर एक नज़र डालें [Django-photologue] (http://code.google.com/p/django-photologue/), जो कुछ आप करना चाहते हैं वह पहले ही हो चुका है :) – juliomalegria
धन्यवाद, मुझे इन सभी सुविधाओं की आवश्यकता नहीं है, मैं सबसे बुनियादी की तलाश में हूं ImageField का उपयोग :) –