我想知道是否有一個字段(模型字段),代表遠程圖像。Django - 是否有遠程圖像字段
我需要的是將圖像字段添加到我的模型中,該圖像字段不是本地存儲的,而是提供了一個遠程URL,只能被查看,不能編輯或上傳。
編輯:爲了讓自己更清楚,我的意思是,我需要一個領域,如URLField可以存儲一個URL(在圖像),但在管理頁面(或其他形式),它會顯示出圖像像ImageField一樣。
我想知道是否有一個字段(模型字段),代表遠程圖像。Django - 是否有遠程圖像字段
我需要的是將圖像字段添加到我的模型中,該圖像字段不是本地存儲的,而是提供了一個遠程URL,只能被查看,不能編輯或上傳。
編輯:爲了讓自己更清楚,我的意思是,我需要一個領域,如URLField可以存儲一個URL(在圖像),但在管理頁面(或其他形式),它會顯示出圖像像ImageField一樣。
的Django有一個file storage API。默認存儲類是FileSystemStorage
,它使用文件系統存儲您的圖像。
關於Django最好的事情之一是其巨大的生態系統:您可以找到S3和其他熱門託管服務的存儲類。
也有點容易寫自己的。
A URLField
是CharField
的擴展,可以存儲指向圖像的有效URL。請注意,您將無法上傳圖片,只能引用網絡上已存在的圖片。
my_instance = MyModel()
my_instance.remote_image = 'http://example.com/images/example.jpg'
my_instance.save()
您可以通過設置src
屬性顯示在你的模板遠程圖像:
class MyModel(models.Model):
remote_image = models.URLField()
在你看來,你可以用一個字符串來設置遠程圖像
<img src="{{ my_instance.remote_image }}">
有沒有辦法讓Django在表單域和管理頁面自動顯示圖像的縮略圖,比如'ImageField'呢? –
你需要替換'widget',但這是一個全新的問題。 – Soviut
這是否意味着我可以編寫一個'ImageField'類字段,使用非FileSystemStorage的存儲? (另外,是否有遠程圖像存儲?) –
是的,例如,您可以編寫一個存儲類,使用paramiko將圖像存儲在使用SSH的另一臺主機上。請參閱https://github.com/jschneier/django-storages/blob/master/storages/backends/sftpstorage.py –