Как исправить ошибку "Представление app.views.uploadform не вернуло объект HttpResponse. Вместо этого оно вернуло None."?
Итак, у меня есть форма в html документе, и я пытаюсь использовать ее для добавления нового элемента в мою базу данных django.
Вот HTML-форма :
<form method="POST" action="{% url 'uploadform' %}" enctype="multipart/form-data">
{% csrf_token %}
<label for="name">Name:</label><br>
<input type="text" id="name" name="name"><br>
<label for="details">Details:</label><br>
<input type="text" id="details" name="details"><br>
<label for="littype">Type of Literature:</label><br>
<input type="text" id="littype" name="littype"><br>
<label for="image">Cover:</label><br>
<input type="file" id="image" name="image"><br>
<input type="submit" value="Submit">
</form>
Вот мой views.py, обрабатывающий функцию :
def uploadform(request):
if request.method == 'POST':
if request.POST.get('name') and request.POST.get('details') and
request.POST.get('littype') and request.POST.get('image'):
post = PostForm()
post.name = request.POST.get('name')
post.details = request.POST.get('details')
post.littype = request.POST.get('littype')
post.image = request.POST.get('image')
if PostForm.is_valid():
PostForm.save()
return render(request, 'uploadform.html')
else:
return render(request, 'uploadform.html')
Вот мой models.py, хотя я думаю, что проблема в views.py :
class PostForm(models.Model):
name = models.CharField(max_length=200)
details = models.TextField()
littype = models.TextField()
image = models.FileField(upload_to='app/files/')
И наконец, что касается проблемы, я получаю ошибку "Представление app.views.uploadform не вернуло объект HttpResponse. Вместо этого оно вернуло None". Я не уверен, что вызывает эту ошибку, и, кроме того, если есть какие-то изменения, которые я должен сделать, чтобы форма не превращалась в новый элемент в моей базе данных, я был бы рад получить помощь и по этому поводу.
Спасибо за любые ответы! Хорошего дня!