修复 views.py

This commit is contained in:
2026-01-25 22:42:05 +08:00
parent 40667da682
commit 2348d7a419

View File

@@ -4,6 +4,7 @@ from django.utils import timezone
from django.db.models import Count
from django.core.mail import send_mail, EmailMessage
from django.conf import settings
from django.views.decorators.csrf import csrf_exempt
from datetime import timedelta, datetime
import os
from loguru import logger
@@ -804,3 +805,56 @@ def pdf_list(request):
}
return render(request, 'core/pdf_list.html', context)
@csrf_exempt
def api_submit_summary(request):
"""API提交汇总记录 - 仅接受指定分类和发言人的记录"""
logger.info("API: 收到汇总记录提交请求")
if request.method != 'POST':
return JsonResponse({'success': False, 'message': '只支持POST请求'}, status=405)
try:
content = request.POST.get('content', '').strip()
if not content:
return JsonResponse({'success': False, 'message': '内容不能为空'}, status=400)
category_name = "定期"
speaker_name = "机器人"
try:
category = SummaryCategory.objects.get(name=category_name)
except SummaryCategory.DoesNotExist:
logger.error(f"API: 分类 '{category_name}' 不存在")
return JsonResponse({'success': False, 'message': f"分类 '{category_name}' 不存在"}, status=400)
try:
speaker = FamilyMember.objects.get(name=speaker_name)
except FamilyMember.DoesNotExist:
logger.error(f"API: 发言人 '{speaker_name}' 不存在")
return JsonResponse({'success': False, 'message': f"发言人 '{speaker_name}' 不存在"}, status=400)
import socket
hostname = socket.gethostname()
local_ip = socket.gethostbyname(hostname)
source = f"{hostname} ({local_ip})"
summary = Summary.objects.create(
date=timezone.now().date(),
category=category,
speaker=speaker,
content=content,
source=source
)
logger.info(f"API: 汇总记录创建成功ID={summary.id}")
return JsonResponse({
'success': True,
'message': '提交成功',
'id': summary.id
})
except Exception as e:
logger.error(f"API: 提交汇总记录失败: {str(e)}")
return JsonResponse({'success': False, 'message': f"提交失败: {str(e)}"}, status=500)