form.is_valid() 始终 returns false 可能出现 "This field is required" 错误

form.is_valid() always returns false perhaps issue with "This field is required" error

我正在学习 Django。我被这个问题困住了。

问题是 form.is_valid() 总是 returns false。

我尝试调试,我认为问题是因为“此字段是必需的”错误,我认为该字段是 file_name。我试图解决这个问题,但我无法这样做。

只是为了说明我正在尝试做的事情 -

我创建了一个表单,用户可以在其中上传文本文件并选择性别。

在后端,我想将文本文件的名称与模型中的性别一起保存。这样做的目的是因为当多个用户将使用该应用程序时,我应该知道哪个用户选择了什么性别以便我可以产生所需的输出。

这是我的 git 存储库的 link -
git repository

正如我已经说过的,我是 django 的新手,我们将不胜感激。

我认为您没有保存表格。在您的意见第 24 行中,您有

if request.method == 'POST':
        form = TranscriptForm(request.POST)
        return HttpResponse(str(form.errors))

如果您要发帖,您将始终 return 在那里,因此不会检查 is_valid()

与第 60 行相同:

context = {'form': TranscriptForm()}
    return render(request, 'tutorial/upload.html', context)

您还没有 accessed/saved 有效的表格

您在表单中的字段是 fields = ['file_name','gender'],在模板中您有

<label for="myfile"> <b> Select a file: </b> </label> <br/>
<input type="file" name="document"> <br/><br/>
<br/><br/>
{{ form.gender }}

...字段 documentgender,没有 file_name。将 {{ form.file_name }} 添加到模板,或者,如果您想坚持手动编写输入代码,请使用名称 file_name 的文件输入。输入名称需要与表单中的字段名称相匹配。

另请阅读:Working with forms