0

models.py

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

フォーム.py

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

ビュー.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を介して画像ファイルをアップロードし、データベースに保存しようとしています.ファイルが保存されると、画像はプロジェクトのメディアフォルダに収集されます.しかし、それは完全に機能していません.

4

1 に答える 1

3

私が見る限り、あなたは単一のものを持っていないFileFieldのでModel、アップロードされたファイルはどこにオブジェクトにバインドされると思いますか?

form.is_valid()スコープ内に独自の保存ロジックを作成するか、全体的に別のアプローチを使用する必要があります。

モデルフォームを使用して、 djangoフォームでforms.FileFieldを更新する単一のファイルの例を次に示します

于 2013-05-18T13:15:56.273 に答える