Greetings. I’m doing an event creation project with Django. I’m having trouble uploading images. It uploads empty images. I can’t find where I made a mistake. I would be very grateful if you could help me. Thanks for your help. (I made media root settings)
forms.py
class CreateEventForm(forms.ModelForm):
class Meta:
model = Event
fields = ['name', 'description', 'image', 'event_date', 'location']
widgets = {
'name': widgets.TextInput(attrs={'class': 'form-control'}),
'description': widgets.TextInput(attrs={'class': 'form-control'}),
'location': widgets.TextInput(attrs={'class': 'form-control'}),
'image': widgets.FileInput(),
'event_date': widgets.DateInput(attrs={'class': 'form-control', 'type': 'date'}),
# 'participants': widgets.SelectMultiple(attrs={'class': 'form-control'}),
'creator': widgets.HiddenInput(),
}
html
<form action="create-event" method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ form.as_p }}
<div class="form-group">
<button type="submit" class="btn btn-primary btn-lg btn-block mt-3">Submit</button>
</div>
</form>
views.py
class CreateEvent(View):
def get(self, request):
form = CreateEventForm()
return render(request, 'event/create-event.html', {'form': form})
def post(self, request):
form = CreateEventForm(request.POST)
if form.is_valid():
event = form.save(commit=False)
event.creator = request.user
event.save()
return redirect('create-event')
else:
return render(request, 'event/create-event.html', {'form': form})