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 }}
...字段 document
和 gender
,没有 file_name
。将 {{ form.file_name }}
添加到模板,或者,如果您想坚持手动编写输入代码,请使用名称 file_name
的文件输入。输入名称需要与表单中的字段名称相匹配。
另请阅读:Working with forms。
我正在学习 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 }}
...字段 document
和 gender
,没有 file_name
。将 {{ form.file_name }}
添加到模板,或者,如果您想坚持手动编写输入代码,请使用名称 file_name
的文件输入。输入名称需要与表单中的字段名称相匹配。
另请阅读:Working with forms。