下面分别是models和view的代码,abc.jpg可以成功提交到qiniu空间,但从代码尝试得到photo.qiniu_image.url
却是空,抛出异常"Can not get url of unsaved field."
def qiniu_key_maker_image(instance, filename):
print filename
return filename
class Photo(models.Model):
qiniu_image = QiNiuImageField(upload_to=qiniu_key_maker_image, null=True)
def save_qiniu_photo(request):
f = open("abc.jpg")
photo = Photo()
photo.qiniu_image = f
photo.save()
print photo.qiniu_image.url
print dir(photo.qiniu_image)
return HttpResponse(django_qiniu.utils.get_size(f))
django_qiniu version = (0, 0, 1)
qiniu version = '6.1.8'
django 1.4.16
问题已解决,是因为上传的文件名中含有路径,包含
/
字符。在models改为下述代码即可: