我有一些我想要保存的http://image.eveonline.com/图片。现在,其中一部分将是静态的,而另一些则可能会改变。 而不是从他们的网站拉出所有静态图像,我想在需要时(如果它们尚未保存)执行此操作
如何告诉我的模型将图像字段保存在静态或媒体中
示例模型:
class ItemIcon(models.Model):
item = models.ForeignKey("items.Item")
size = models.IntegerField(choices=settings.IMAGE_SIZES)
url = models.URLField(unique=True) #The url to the evesite
image = models.ImageField(upload_to="static/images/items/")
(此模型应保存为静态)
答案 0 :(得分:3)
您需要在settings.py中设置MEDIA_URL
和MEDIA_ROOT
,然后像这样定义图片字段:
image = models.ImageField(upload_to="items")
请注意,您不需要将整个路径添加到upload_to
属性,Django会为您附加绝对路径。您需要在媒体文件夹中有一个名为items
的文件夹。
如果您想在STATIC_ROOT
中保存图片,请尝试以下操作:
from django.conf import settings
fs = FileSystemStorage(location=settings.STATIC_ROOT)
class ItemIcon(models.Model):
item = models.ForeignKey("items.Item")
size = models.IntegerField(choices=settings.IMAGE_SIZES)
url = models.URLField(unique=True) #The url to the evesite
image = models.ImageField(upload_to="items",storage=fs)