Django - 是否有远程图像字段

时间:2016-10-14 21:37:20

标签: django django-models

我想知道是否有代表远程影像的字段(模型字段)。

我需要的是将一个图像字段添加到我的模型中,该图像字段不会存储在本地,但会被提供一个远程URL,只能查看,不能编辑或上传。

编辑:为了让自己更清楚,我的意思是我需要一个像URLField这样的字段,它可以存储一个URL(到图像),但在管理页面中,(或其他形式)它将显示像ImageField那样的图像。

3 个答案:

答案 0 :(得分:1)

URLFieldCharField的扩展,可以存储指向图片的有效网址。请注意,您将无法上传图像,只能引用网络上已存在的图像。

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视图和模板的更多信息。