使用网址链接检索单个文件上传

时间:2016-04-27 14:15:53

标签: django django-models django-views

我正在尝试上传单张图片 - 到目前为止一切正常。问题是如何上传单个图像,然后将此单个文件作为响应链接。例如,我想上传图片文件,上传后在www网站上将此单个文件显示为href。 views.py:

def res_img(request):
    form=ImageForm(request.FILES or None)
    if form.is_valid():
        instance=form.save(commit=False)
        instance.save()
    context= {
        "form":form,
    }
    return render(request, 'im_form.html',context)

models.py:

class Cimage(models.Model):
    height_field=models.IntegerField(default=0)
    width_field=models.IntegerField(default=0)    image=models.ImageField(upload_to='img',null=True,blank=True,width_field="width_field",height_field="height_field")

如果您有任何最简单的请告诉我。

提前谢谢

1 个答案:

答案 0 :(得分:0)

您可以将get_absoulte_url()用于您的Cimage类。 get_absolute_url()只是返回对象url的方法。

def res_img(request):
    form=ImageForm(request.FILES or None)
    if form.is_valid():
        instance=form.save(commit=False)
        instance.save()
    context= {
        "form":form,
        "url": instance.get_absolute_url()
    }
    return render(request, 'im_form.html',context)


class Cimage(models.Model):
    height_field=models.IntegerField(default=0)
    width_field=models.IntegerField(default=0)
    image=models.ImageField(upload_to='img',null=True,blank=True,width_field="width_field",height_field="height_field")

    def get_absolute_url(self):
        return '/img/%s' % self.image.name

另外,我认为upload_to='img'会产生问题。你可以使用upload_to='img/'