Django CSRF verification failed в django 3.1, раньше работало в django 1.x
Я воскрешаю старый сайт, который работал на django 1.x. Сейчас я использую django 3.1.2. Я перешел на python 3 с 2.7. У меня есть 3 формы, которые размещаются на сайте. Все они работают при запуске сервера django на локальной машине. Но когда я тестирую с другой машины в моей сети, они выдают CSFR cookie not sent
форма:
<form action="/blog/upload" method="POST" enctype="multipart/form-data"><ul><li><label for="id_title">Title:</label> <input type="text" name="title" maxlength="50" required id="id_title"></li>
<li><label for="id_file">File:</label> <input type="file" name="file" required id="id_file"></li></ul><input type="hidden" name="csrfmiddlewaretoken" value="eYpdkogXUvof1IqJzgMvJcEGMBpXbvoNLTZNfEjz6aY7WebxbxsvId3nPmT7S4PF">
<input type="submit" value="Go" />
</form>
Вид:
219 def handle_uploaded_file(f, to_filename):
220 print("In handle_uploaded_file")
221 with open(f'uploads/{to_filename}', 'wb+') as destination:
222 for chunk in f.chunks():
223 destination.write(chunk)
224 print(f"wrote {to_filename}")
225
226
227 def upload_file(request):
228 print("in upload_file")
229 if request.method == 'POST':
230 print("request.method == 'POST'")
231 form = UploadFileForm(request.POST, request.FILES)
232 if form.is_valid():
233 print("form is valid")
234 print(request)
235 handle_uploaded_file(request.FILES['file'], request.POST['title'])
236 return HttpResponseRedirect('upload')
237 else:
238 print("in upload_file else clause")
239 form = UploadFileForm()
240 return render(request, 'blog_app/upload_form.html', {'form': form})
Я подозреваю, что есть новые настройки в settings.py, но я не смог найти ответ.
<form method="post">{% csrf_token %}