我想知道是否有代表远程影像的字段(模型字段)。
我需要的是将一个图像字段添加到我的模型中,该图像字段不会存储在本地,但会被提供一个远程URL,只能查看,不能编辑或上传。
编辑:为了让自己更清楚,我的意思是我需要一个像URLField这样的字段,它可以存储一个URL(到图像),但在管理页面中,(或其他形式)它将显示像ImageField那样的图像。
答案 0 :(得分:1)
URLField
是CharField
的扩展,可以存储指向图片的有效网址。请注意,您将无法上传图像,只能引用网络上已存在的图像。
class MyModel(models.Model):
remote_image = models.URLField()
在您的视图中,您可以使用字符串设置远程图像:
my_instance = MyModel()
my_instance.remote_image = 'http://example.com/images/example.jpg'
my_instance.save()
您可以通过设置src
属性
<img src="{{ my_instance.remote_image }}">
答案 1 :(得分:1)
Django有file storage API。默认存储类是FileSystemStorage
,它使用文件系统存储您的图像。
Django最棒的一点就是它庞大的生态系统:你可以找到S3和其他流行托管服务的存储类。
写自己也有点容易。
答案 2 :(得分:0)
你可以使用URLField来存储源URL并处理查看你构建的django View的图像,我可以想象你的django View可以使用你的模型读取数据(包括图像源URL),在上下文字典中设置它对象,可以从视图的HTML模板中读取以显示图像。
请阅读有关django视图和模板的更多信息。