首页 > 解决方案 > 我的 Django 表单没有将我的图像添加到数据库中

问题描述

我试图将图像添加到我的数据库,但我只能在我的管理面板中手动插入它,它不会从我的表单中自动添加它

这是我的models.py

    option1photo = models.ImageField(null=True, blank=True)
    option2photo = models.ImageField(null=True,blank=True)
    option3photo = models.ImageField(null=True,blank=True)

和我的forms.py

class AddpollForm(forms.ModelForm):

    class Meta:

        model = PollOptions
        fields = ['option1photo','option2photo','option3photo']

和我的views.py

    polloptions_form = AddpollForm()
    if request.method == 'POST':
        polloptions_form = AddpollForm(request.POST)
        if polloptions_form.is_valid():            
            polloptions = polloptions_form.save(commit=True)

            return redirect('home')

标签: djangodjango-forms

解决方案


request.FILES表单中的任何文件都由 Django放入。还应确保他们的表单标签具有以下设置:enctype="multipart/form-data"如果他们正在提交文件数据。

你的观点应该是这样的:

polloptions_form = AddpollForm()
if request.method == 'POST':
    polloptions_form = AddpollForm(request.POST, request.FILES)
    if polloptions_form.is_valid():            
        polloptions = polloptions_form.save(commit=True)
        return redirect('home')

上传文件时的表单标签应如下所示:

<form method="post" enctype="multipart/form-data">

推荐阅读