feat: 添加异常处理以增强数据库保存逻辑
- 在结果处理逻辑中添加try-except块,以捕获保存用户响应到数据库时的异常 - 确保在发生错误时能够打印异常信息,提升系统的稳定性和可调试性
This commit is contained in:
parent
ee9e6a5cca
commit
e3b3b5a1f6
35
app.py
35
app.py
@ -120,22 +120,25 @@ async def result(request: Request, scale_id: str, db: Session = Depends(get_db))
|
|||||||
else:
|
else:
|
||||||
responses[subscale] += int(form_data[str(qid)])
|
responses[subscale] += int(form_data[str(qid)])
|
||||||
average[subscale] = round(responses[subscale]/len(qids),2)
|
average[subscale] = round(responses[subscale]/len(qids),2)
|
||||||
# Save response to database
|
try:
|
||||||
ip = request.headers.get("X-Forwarded-For", "").split(",")[0].strip() or \
|
# Save response to database
|
||||||
request.headers.get("X-Real-IP", "") or \
|
ip = request.headers.get("X-Forwarded-For", "").split(",")[0].strip() or \
|
||||||
request.client.host # Get real IP address considering proxy headers
|
request.headers.get("X-Real-IP", "") or \
|
||||||
location = get_location_from_ip(ip)# Get location information
|
request.client.host # Get real IP address considering proxy headers
|
||||||
db_response = RawResponse(
|
location = get_location_from_ip(ip)# Get location information
|
||||||
scale_id=scale_id,
|
db_response = RawResponse(
|
||||||
user_agent=request.headers.get("user-agent", "Unknown"),
|
scale_id=scale_id,
|
||||||
ip_address=ip,
|
user_agent=request.headers.get("user-agent", "Unknown"),
|
||||||
location=json.dumps(location) if location else None,
|
ip_address=ip,
|
||||||
raw_response=dict(form_data),
|
location=json.dumps(location) if location else None,
|
||||||
sum_response=responses,
|
raw_response=dict(form_data),
|
||||||
avg_response=average
|
sum_response=responses,
|
||||||
)
|
avg_response=average
|
||||||
db.add(db_response)
|
)
|
||||||
db.commit()
|
db.add(db_response)
|
||||||
|
db.commit()
|
||||||
|
except Exception as e:
|
||||||
|
print(e)
|
||||||
return templates.TemplateResponse("result.html", {
|
return templates.TemplateResponse("result.html", {
|
||||||
"request": request,
|
"request": request,
|
||||||
"responses": responses,
|
"responses": responses,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user