Я пытаюсь заполнить поля в «CreateDealerForm», когда выбираю редактирование. Пока я могу заполнить только поле featured_image
, и если я добавлю featured_image
в словарь виджетов, я получу: 'ImageField' object has no attribute 'value_from_datadict'
forms.py
class CreateDealerForm(forms.ModelForm):
class Meta:
model = Dealer
fields = ('name', 'phone','website', 'address', 'featured_image',)
widgets = {
'name': forms.TextInput(attrs={'class': 'dealer-name-field', 'placeholder': 'Dealer name'}),
'phone': forms.TextInput(attrs={'class': 'dealer-phone-field', 'placeholder': 'Dealer phone'}),
'website': forms.TextInput(attrs={'class': 'dealer-website-field', 'placeholder': 'Dealer website'}),
'address': forms.TextInput(attrs={'class': 'dealer-address-field', 'placeholder': 'Dealer address'}),
"featured_image": forms.ImageField(),
}
views.py
def update_dealer_view(request, slug):
instance = get_object_or_404(Dealer, slug=slug)
form = CreateDealerForm(request.POST, request.FILES, instance=instance)
if form.is_valid():
dealer = form.save(commit=False)
dealer.save()
return redirect('main:homepage_view')
context = {
"title": "Update - Dealer",
"form": form,
"instance": instance,
}
return render(request=request, template_name="main/create/create_dealer.html", context=context)