Django图像文件没有上传

时间:2013-05-18 12:49:07

标签: django django-models django-forms django-templates django-admin

models.py

class Report(models.Model):
    user = models.ForeignKey(User, null=False)
    photo_files_attached = models.BooleanField('Photos', default=False)

forms.py

class MediaForm(forms.ModelForm):
    photo_files_attached = forms.FileField(label='Choose a file')
    class Meta:
        model = Report
        field = ['photo_files_attached']

views.py

def media(request):
    user = request.user  
    try:
        report = Report.objects.get(user=user.id)
    except:
        report = None
    mediaForm = MediaForm()
    if request.method =='POST':
        mediaForm = MediaForm(request.POST,request.FILES)
        if mediaForm.is_valid():
            media = Report(photo_files_attached = request.FILES['photo_files_attached'])
            media.save()


    return render(request, 'media.html',
                  {

                   'mediaForm':MediaForm,

                 })

我正在尝试通过django上传图像文件并将其保存在数据库中。一旦保存文件,图像就会在项目的媒体文件夹中得到collecetd。但它完全不起作用。我知道我做错了什么。

1 个答案:

答案 0 :(得分:3)

据我所知,您FileField上没有Model,所以您希望将上传的文件绑定到您的对象上?

您应该在form.is_valid()范围内创建自己的保存逻辑,或者使用不同的方法。

这是一个使用模型形式update forms.FileField on django forms

的文件示例