У меня есть форма, в которую пользователь загружает файл CSV для обработки данных. В настоящее время я пытаюсь проверить метод form.is_valid()
. Однако я следую документации по Django, и форма все еще возвращает ошибку, что поле требует значения. Есть идеи?
Документация
Документация показывает следующий пример -
>>> c = Client()
>>> with open('wishlist.doc') as fp:
... c.post('/customers/wishes/', {'name': 'fred', 'attachment': fp})
Тест
class TestImportCSVForm(TestCase):
def test_form_valid(self):
with open('fake.csv', 'r', newline='') as csvfile:
form_data = {
'csv_file': csvfile,
}
form = ImportCSVForm(data=form_data)
self.assertTrue(form.is_valid())
Форма
class ImportCSVForm(forms.Form):
""" Form for uploading CSVs """
csv_file = forms.FileField(
label=_("CSV File"),
help_text=_("Upload a CSV"))
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = Layout(
'csv_file',
HTML("""<hr>"""),
ButtonHolder(
Submit('submit', 'Submit', css_class='btn btn-primary')
)
)
Ошибка при запуске теста
(Pdb) form.errors
{'csv_file': ['This field is required.']}