Нажатие кнопки без загрузки файла - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть html-форма, которая позволяет пользователям загружать файлы, но если пользователь нажимает кнопку «Отправить» напрямую, не загружая файл, django выдает ошибку.Как я могу контролировать эту проблему?

upload.html

    <!-- Upload form. Note enctype attribute! -->
    <form method="post" enctype="multipart/form-data" multiple>
        {% csrf_token %}
        <input type= "file" name ="docfile" multiple/>

        <button id="yukle" type="submit" value="Upload">
            <img src="/static/img/upload.png" width=28 height=30 alt="Yükle"/>
        </button>
    </form>

views.py

def SenetList(request):
    if request.method == 'POST':
        form = DocumentForm(request.POST, request.FILES)
        if form.is_valid():
            dosya_tipi = "Senet"
            context = upload(request.FILES.getlist('docfile'),form, dosya_tipi)
            return render(request, 'operations/upload.html', context)
    else:
        form = DocumentForm()
        return render(request, 'operations/upload.html', {'form': form})

forms.py

class DocumentForm(forms.Form):
    docfile = forms.FileField(
        label='Select a file',
        help_text='max. 42 megabytes'
    )

Iвыдал ошибку, подобную этой:

ValueError at / upload / senet

Представление operations.views.SenetList не вернул объект HttpResponse.Вместо этого он вернул None.

1 Ответ

0 голосов
/ 19 сентября 2019

Если метод post и форма недействительна, вы возвращаете None неявно.Это вызывает ошибку.Реализовать ответ для сообщения метода с неверной формой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...