Ошибка Django Broken Pipe при отправке формы
Я разрабатываю онлайн-систему оповещения о преступлениях, используя django.
У меня есть страница, которая содержит форму, которая помогает зарегистрировать инцидент.
форма выглядит следующим образом:
url-адрес "citizen/регистр/" соответствует следующей функции в views.py:
def register_case(request):
if request.method == 'POST':
crime_type= request.POST.get('crime_type')
crime_date= request.POST.get('crime_date')
crime_time= request.POST.get('crime_time')
crime_location= request.POST.get('crime_location')
crime_location_link= request.POST.get('crime_location_link')
crime_evidence= request.FILES['crime_evidence']
crime_description= request.POST.get('crime_description')
citizenship = request.FILES['citizenship']
yes_no= True if request.POST.get('yes_no') else False
# recent_photo = request.FILES.get('recent_photo')
image_data_url = request.POST.get('recent_photo_dataurl')
image_file=None
if image_data_url:
format, imgstr = image_data_url.split(';base64,')
ext = format.split('/')[-1]
image_file = ContentFile(base64.b64decode(imgstr), name=f"recent_photo.{ext}")
# Get the user id from the session
user_id = request.session.get('user_id')
user = Ct.objects.get(user_id=user_id)
# Create a new case instance
case = Case(
case_title=crime_type,
reporter=user,
is_reporter_the_victim=yes_no,
crime_date=crime_date,
crime_location=crime_location,
crime_description=crime_description,
crime_time=crime_time,
crime_link=crime_location_link
)
case.save()
# check evidence type and create evidence instance accordingly
file_type = is_image_or_video(crime_evidence.name)
if file_type == 'image':
evidence = Evidence(case = case,
evidence_type = file_type,
evidence_pic_file = crime_evidence,
)
evidence.save()
elif file_type == 'video':
evidence = Evidence(case = case,
evidence_type = file_type,
evidence_vid_file = crime_evidence,
)
evidence.save()
else:
pass
user_photo = Ct.objects.get(user_id=user_id)
user_photo.user_recent_photo = image_file
user_photo.user_citizenship = citizenship
user_photo.save()
messages.success(request, "Case registered successfully.")
return JsonResponse({"status": "success", "message": "Case registered successfully."})
return JsonResponse({"status": "error", "message": "Invalid request."})
когда я заполняю форму и отправляю ее... все работает нормально, и дело успешно регистрируется в базе данных, но когда функция возвращает Jsonresponse интерфейсу, она просто перезагружает страницу отчета о преступлении вместо перенаправления на домашнюю страницу и показывает следующую ошибку в терминале:
[22/ Апрель/2025 16:21:50,722] - Сломанная труба из ('127.0.0.1', 56211)