【问题标题】:Single file upload with url link retrieving使用 url 链接检索的单个文件上传
【发布时间】:2016-04-27 14:15:52
【问题描述】:

我正在尝试上传单张图片 - 到目前为止效果很好。问题是我如何上传单个图像,然后链接这个单个文件作为响应。例如,我想上传图片文件,上传后将这个 single 文件显示为 www 网站上的 href。 视图.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")

如果你有最简单的,请告诉我。

提前谢谢你

【问题讨论】:

    标签: django django-models django-views


    【解决方案1】:

    您可以在您的 Cimage 类中使用 get_absoulte_url()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/'

    【讨论】:

    • 我做了一些小改动,效果很好,感谢帮助
    猜你喜欢
    • 2016-06-13
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    相关资源
    最近更新 更多