QiNiuFileField 保存后url却是空的

下面分别是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

阅读 2.2k
1 个回答
✓ 已被采纳新手上路,请多包涵

问题已解决,是因为上传的文件名中含有路径,包含/字符。
在models改为下述代码即可:

def qiniu_key_maker_image(instance, filename):
    return os.path.basename(filename)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题