У меня есть ModelForm в django:
class uploadform(forms.ModelForm):
class Meta:
model = upload
fields = ['email', 'title', 'date', 'file']
Из модели:
class upload(models.Model):
email = models.EmailField()
title = models.CharField(max_length=100)
date = models.DateField()
file = models.FileField()
Вот мой взгляд на обработку формы:
def upload(request):
if request.method == 'POST':
form = uploadform(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('upload')
else:
form = uploadform()
context = {
'form': form
}
return render(request, 'content/upload.html', context)
Вот мой HTML:
<div class="site-section mb-5">
<div class="container">
<div class="form-register">
<form method="POST">
{% csrf_token %}
<legend>Upload Content</legend>
<div class="form-group">
{{ form | crispy }}
</div>
<button class="btn btn-outline-info" type="submit">Upload</button>
</form>
Форма заполняется хорошо, форма позволяет мне прикрепляться, но всякий раз, когда я нажимаю «Загрузить», меня перенаправляют без фактического перехода файла на S3 или форму сохраняются в базе данных. Я знаю, что мое соединение S3 правильное, потому что если я go на admin
и создаю выгрузку, файл появится на S3.
Что может быть причиной загрузки файла с form.save()
?