feat(api): 为汇总记录提交添加来源验证和来源字段

- 移除 api_submit_summary 的 csrf_exempt 装饰器
- 允许客户端提交来源字段
- 在提交工具中添加来源输入框
- 自动生成来源信息当未提供时
This commit is contained in:
2026-01-26 22:35:51 +08:00
parent 2348d7a419
commit 80d40b5daa
2 changed files with 27 additions and 9 deletions

View File

@@ -806,7 +806,6 @@ def pdf_list(request):
return render(request, 'core/pdf_list.html', context)
@csrf_exempt
def api_submit_summary(request):
"""API提交汇总记录 - 仅接受指定分类和发言人的记录"""
logger.info("API: 收到汇总记录提交请求")
@@ -835,10 +834,17 @@ def api_submit_summary(request):
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})"
# 获取来源,支持客户端提交
source = request.POST.get('source', '').strip()
if not source:
source = ""
# 如果没有提供来源,自动生成
if not source:
import socket
hostname = socket.gethostname()
local_ip = socket.gethostbyname(hostname)
source = f"{hostname} ({local_ip})"
summary = Summary.objects.create(
date=timezone.now().date(),