繁体   English   中英

Django ImageField:文件未上传

[英]Django ImageField: files dont get uploaded

我在模型中实现了一些ImageField,并安装了PIL(不是最干净的安装)。 当我在管理中获得一个上载按钮时,一切似乎都正常了,当我在视图中调用.url属性时,我得到了带有文件名及其上载属性的字符串。 问题在于文件不存在,显然,一旦保存模型,文件就不会上传。

任何想法?

谢谢

这是我的代码情况的示例

models.py

class My_Model(models.Model):
[...]
     image = models.ImageField(upload_to = 'images/my_models/main')

view.py

'image': query.my_model.image.url

结果:

static/images/my_models/main/theimage.png

确保在POST时将request.FILES绑定到表单,并且在模板中将表单声明为多部分

这是我的一个应用程序的视图:

@login_required
def submit(request):
    if request.method == 'POST':
        (Photo.objects.count()+1, request.FILES['photo'].name.split(".")[1]), request.FILES['photo'])}
        form = PhotoForm(request.POST, request.FILES)
        if form.is_valid():
            new = Photo(photo=request.FILES['photo'], name=request.POST['name'])
            new.save()          
            return HttpResponseRedirect('/') # Redirect after POST
    else:
        form = PhotoForm()
    return render_to_response('app/submit.html', {'form': form}, context_instance=RequestContext(request))

和PhotoForm类:

class PhotoForm(forms.ModelForm):
    class Meta:
        model = Photo
        fields = ('name', 'photo')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM