擅长:python、mysql、java
<p>你能试试吗</p>
<pre class="lang-py prettyprint-override"><code>def new(request):
if request.method == 'POST':
form = NewEntryForm(request.POST)
if form.is_valid():
# ...
else:
form = NewEntryForm()
return render(request, 'encyclopedia/new.html', {'form': form})
</code></pre>
<p>从逻辑上讲,您在这部分中遗漏了什么(在默认存储内容中)</p>
<pre class="lang-py prettyprint-override"><code>return render(request, "encyclopedia/error.html", {
"error": 'A file with this title already exists.'
})
</code></pre>
<p>是您渲染了<em>错误</em>,但未包含实际表单。从技术上讲,您也可以像下面的示例那样修复它,但我更愿意按照<a href="https://docs.djangoproject.com/en/3.0/topics/forms/#the-view" rel="nofollow noreferrer">documentation</a>给我们的方式进行修复</p>
<pre class="lang-py prettyprint-override"><code>return render(request, "encyclopedia/error.html", {
"error": 'A file with this title already exists.',
"form": form # you didn't include your form in the inner return
})
</code></pre>