将 Cloudinary 对象保存到 Django 模型
Saving a Cloudinary object to a Django Model
我有一个模型:
from cloudinary.models import CloudinaryField
class Image(models.Model):
image = CloudinaryField('image')
还有一个我从 Cloudinary 收到的对象。这是我上传图片后Cloudinary给我的,我把它传回我的服务器:
{'etag': ['***'], 'version': ['***'], 'public_id': ['***'], 'type': ['upload'], 'signature': ['***'], 'created_at': ['2017-07-28T15:54:17Z'], 'secure_url': ['https://res.cloudinary.com/***/***.png'], 'height': ['353'], 'format': ['png'], 'resource_type': ['image'], 'url': ['http://res.cloudinary.com/***/image/upload/***/***.png'], 'width': ['684'], 'bytes': ['133509']}
我似乎无法将其保存到我的模型中。我试过直接保存它并通过 Cloudinary 文档中的 CloudinaryJsFileField
形式放入它。两者似乎都不起作用。表格哀叹 "No File Was Selected" 和 model.create() 努力抱怨缺少 属性。
这是我正在使用的表格:
class PhotoDirectForm(ModelForm):
class Meta:
model = Image
fields = ['image']
我已经尝试过使用和不使用 CloudinaryJsFileField
,但无论哪种方式我都得到相同的错误:
<tr><th><label for="id_image">Image:</label></th><td><ul class="errorlist"><li>No file selected!</li></ul><input type="file" name="image" required id="id_image" /></td></tr>
显然它需要一个文件,但这不是我上传图片后 Cloudinary 给我的!
有谁知道如何将 Cloudinary 对象保存到 Django 数据库中?
您是否检查了 Photo album 示例项目?
那里的流量是 -
views.py -
form = PhotoForm(request.POST, request.FILES)
...
form.save()
forms.py -
class PhotoForm(ModelForm):
class Meta:
model = Photo
fields = '__all__'
models.py -
class Photo(models.Model):
## Misc Django Fields
create_time = models.DateTimeField(auto_now_add=True)
title = models.CharField("Title (optional)", max_length=200, blank=True)
## Points to a Cloudinary image
image = CloudinaryField('image')
这应该将图像保存在 Cloudinary 和您的存储中。
我有一个模型:
from cloudinary.models import CloudinaryField
class Image(models.Model):
image = CloudinaryField('image')
还有一个我从 Cloudinary 收到的对象。这是我上传图片后Cloudinary给我的,我把它传回我的服务器:
{'etag': ['***'], 'version': ['***'], 'public_id': ['***'], 'type': ['upload'], 'signature': ['***'], 'created_at': ['2017-07-28T15:54:17Z'], 'secure_url': ['https://res.cloudinary.com/***/***.png'], 'height': ['353'], 'format': ['png'], 'resource_type': ['image'], 'url': ['http://res.cloudinary.com/***/image/upload/***/***.png'], 'width': ['684'], 'bytes': ['133509']}
我似乎无法将其保存到我的模型中。我试过直接保存它并通过 Cloudinary 文档中的 CloudinaryJsFileField
形式放入它。两者似乎都不起作用。表格哀叹 "No File Was Selected" 和 model.create() 努力抱怨缺少 属性。
这是我正在使用的表格:
class PhotoDirectForm(ModelForm):
class Meta:
model = Image
fields = ['image']
我已经尝试过使用和不使用 CloudinaryJsFileField
,但无论哪种方式我都得到相同的错误:
<tr><th><label for="id_image">Image:</label></th><td><ul class="errorlist"><li>No file selected!</li></ul><input type="file" name="image" required id="id_image" /></td></tr>
显然它需要一个文件,但这不是我上传图片后 Cloudinary 给我的!
有谁知道如何将 Cloudinary 对象保存到 Django 数据库中?
您是否检查了 Photo album 示例项目?
那里的流量是 -
views.py -
form = PhotoForm(request.POST, request.FILES)
...
form.save()
forms.py -
class PhotoForm(ModelForm):
class Meta:
model = Photo
fields = '__all__'
models.py -
class Photo(models.Model):
## Misc Django Fields
create_time = models.DateTimeField(auto_now_add=True)
title = models.CharField("Title (optional)", max_length=200, blank=True)
## Points to a Cloudinary image
image = CloudinaryField('image')
这应该将图像保存在 Cloudinary 和您的存储中。