Форма Джанго продолжает жаловаться на обязательные поля - PullRequest
0 голосов
/ 29 марта 2019

Форма отправляет, но сразу говорит, что это поле обязательно для заполнения ... хотя оно было заполнено. Что я делаю не так

На мой взгляд:

def fileupload(request):
    if request.user.is_authenticated and request.user.is_staff:
        if request.method == 'POST':
            form = UploadFileForm(request.POST, request.FILES)
            if form.is_valid():
                handle_uploaded_file(request.FILES.getlist('file_field'))
                return HttpResponseRedirect('/fileupload/')
        else:
            form = UploadFileForm()
        return render(request, 'fileupload.j2.html', {'form': form})
    return HttpResponseForbidden('<h1>403 Forbidden</h1>')

с помощью этой формы:

class UploadFileForm(forms.Form):
    kit_number = forms.CharField(label="Kit number", max_length=100, required=True, help_text='Required.')
    file_field = forms.FileField(label='Upload kit result')

и шаблон:

{% extends "menu.j2.html" %}
{% block content %}
{% if request.user.is_authenticated and request.user.is_staff %}
<h3>File upload</h3><br><br>
    <form action="/fileupload/" method="post">
    {% csrf_token %}
<div class="form-group">
    <table>
{{ form.as_table() }}
    </table>
</div>
    <input id="button" class="btn" type="submit" value="Sent">

    </form>

{% else %}
You are not authorized to see this page
{% endif %}
{% endblock %}

1 Ответ

1 голос
/ 29 марта 2019

Вы забыли установить форму enctype.

<form action="/fileupload/" method="post" enctype="multipart/form-data">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...