<p>我想是因为你的回执。你不需要把它放在if-else部分。你知道吗</p>
<blockquote>
<p>The return statement causes your function to exit and hand back a value to its caller. The return statement is used when a function is ready to return a value to its caller.</p>
</blockquote>
<p>请看一下<a href="https://stackoverflow.com/questions/7129285/why-would-you-use-the-return-statement-in-python">here</a></p>
<p>更改您的代码如下(我们需要删除返回正确的\u验证码)</p>
<pre><code>def list(request):
correct_captcha = None
if request.method == 'POST':
file = request.FILES.get('file', False)
ca_mode = request.POST.get('mode', 'word').lower()
assert ca_mode in ['number', 'word', 'four_number']
captcha = request.POST.get('captcha')
ca = Captcha(request)
if ca.validate(captcha):
if 'file' in request.FILES:
fs = FileSystemStorage()
fs.save('(' + datetime.now().strftime('%Y-%m-%d-%H-%M-%S') +
')' + file.name, file)
filesname= str('(' + datetime.now().strftime('%Y-%m-%d-%H-
%M-%S') + ')' + file.name)
else:
filesname = ''
add_obj = enquiry(file=filesname)
add_obj.save()
correct_captcha = 0
else:
correct_captcha = 1
# edit: return moved inside the if condition
# avoids local variable referenced before assignment error
return render(request, 'list.html', {'correct_captcha':correct_captcha})
return render(request, 'list.html')
</code></pre>