Страницы

Поиск по вопросам

пятница, 24 января 2020 г.

не могу сохранить фото в базу данных

#python #python_3x #django


Я новичок В Django хотел сохранить фото в базу с файлами. создал форму,  импортировал
в модель,  модель импортировал в  views. если же сохранять данные без фото то данные
все сохраняются в базе.
forms.py:

class  ImageUploadForm(forms.Form):
    title = forms.CharField(max_length=250, label=('Title:'))
    description = forms.CharField(max_length=300, widget=forms.Textarea, 
                  label=('Description:'))
    phone_num = forms.IntegerField(label=('Phone_num:'))
    price = forms.IntegerField(label= ('Price:'))
    first_image_original = forms.ImageField()


models.py:

class Announcement(models.Model):
    class Meta:
        db_table='announcements'

    title=models.CharField(max_length=250)
    description=models.CharField(max_length=300)
    phone_num=models.IntegerField()
    price=models.IntegerField()
    first_image_original=models.ImageField(upload_to='images/')


views.py:

def dobavit(request):
    if request.method == 'POST':
        form=ImageUploadForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/announcement/example')
    else:
        form=ImageUploadForm()
    return render(request, 'announcement/dobavit.html', {'form': form})

    


Ответы

Ответ 1



Ваша форма понятия не имеет о том, что должна сохранять какую-то модель. Замените её на class ImageUploadForm(forms.ModelForm): class Meta: model = Announcement fields = '__all__'

Ответ 2



Так же мучился, просто нужно добавить в форму enctype="multipart/form-data"

Комментариев нет:

Отправить комментарий