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:
|
||||
responses[subscale] += int(form_data[str(qid)])
|
||||
average[subscale] = round(responses[subscale]/len(qids),2)
|
||||
# Save response to database
|
||||
ip = request.headers.get("X-Forwarded-For", "").split(",")[0].strip() or \
|
||||
request.headers.get("X-Real-IP", "") or \
|
||||
request.client.host # Get real IP address considering proxy headers
|
||||
location = get_location_from_ip(ip)# Get location information
|
||||
db_response = RawResponse(
|
||||
scale_id=scale_id,
|
||||
user_agent=request.headers.get("user-agent", "Unknown"),
|
||||
ip_address=ip,
|
||||
location=json.dumps(location) if location else None,
|
||||
raw_response=dict(form_data),
|
||||
sum_response=responses,
|
||||
avg_response=average
|
||||
)
|
||||
db.add(db_response)
|
||||
db.commit()
|
||||
try:
|
||||
# Save response to database
|
||||
ip = request.headers.get("X-Forwarded-For", "").split(",")[0].strip() or \
|
||||
request.headers.get("X-Real-IP", "") or \
|
||||
request.client.host # Get real IP address considering proxy headers
|
||||
location = get_location_from_ip(ip)# Get location information
|
||||
db_response = RawResponse(
|
||||
scale_id=scale_id,
|
||||
user_agent=request.headers.get("user-agent", "Unknown"),
|
||||
ip_address=ip,
|
||||
location=json.dumps(location) if location else None,
|
||||
raw_response=dict(form_data),
|
||||
sum_response=responses,
|
||||
avg_response=average
|
||||
)
|
||||
db.add(db_response)
|
||||
db.commit()
|
||||
except Exception as e:
|
||||
print(e)
|
||||
return templates.TemplateResponse("result.html", {
|
||||
"request": request,
|
||||
"responses": responses,
|
||||
|
Loading…
x
Reference in New Issue
Block a user