โปรดขอโทษสำหรับภาษาอังกฤษที่น่าเกลียดของฉัน ;-)
ลองนึกภาพแบบจำลองที่เรียบง่ายนี้:
class Photo(models.Model):
image = models.ImageField('Label', upload_to='path/')
ฉันต้องการสร้างรูปภาพจาก URL รูปภาพ (เช่นไม่ใช่ด้วยมือในไซต์ผู้ดูแลระบบ django)
ฉันคิดว่าฉันต้องทำสิ่งนี้:
from myapp.models import Photo
import urllib
img_url = 'http://www.site.com/image.jpg'
img = urllib.urlopen(img_url)
# Here I need to retrieve the image (as the same way that if I put it in an input from admin site)
photo = Photo.objects.create(image=image)
ฉันหวังว่าฉันจะอธิบายปัญหาได้ดีถ้าไม่บอกฉัน
ขอขอบคุณ :)
แก้ไข:
สิ่งนี้อาจใช้ได้ แต่ฉันไม่รู้วิธีแปลงcontent
เป็นไฟล์ django:
from urlparse import urlparse
import urllib2
from django.core.files import File
photo = Photo()
img_url = 'http://i.ytimg.com/vi/GPpN5YUNDeI/default.jpg'
name = urlparse(img_url).path.split('/')[-1]
content = urllib2.urlopen(img_url).read()
# problem: content must be an instance of File
photo.image.save(name, content, save=True)
im
วัตถุที่มาจากไหน?