diff --git a/app.py b/app.py index 0510ee9..23ce270 100644 --- a/app.py +++ b/app.py @@ -281,10 +281,10 @@ def show_all(): def edit_entry(doc_id): """ 渲染编辑页面 - + 参数: doc_id (str): 要编辑的文档ID - + 返回: str: 渲染后的编辑页面或错误信息 """ @@ -292,7 +292,7 @@ def edit_entry(doc_id): document = get_by_id(doc_id) if not document: return "文档不存在", 404 - + # 保持原始数据格式,不进行JSON转换 # 直接传递包含data字段的原始文档 return render_template('edit.html', document=document) @@ -302,10 +302,10 @@ def edit_entry(doc_id): def update_entry(doc_id): """ 处理数据更新请求 - + 参数: doc_id (str): 要更新的文档ID - + 返回: 重定向到所有数据页面或错误信息 """ @@ -313,40 +313,40 @@ def update_entry(doc_id): original_doc = get_by_id(doc_id) if not original_doc: return "文档不存在", 404 - + # 从表单中获取所有字段数据 data_parts = [] i = 1 while True: key_name = request.form.get(f'key_{i}') field_value = request.form.get(f'field_{i}') - + if not key_name or not field_value: break - + # 处理字段值(如果是列表格式,用|##|分隔) if ',' in field_value: # 如果是逗号分隔的值,转换为列表格式 items = [item.strip() for item in field_value.split(',') if item.strip()] if len(items) > 1: field_value = f"[{'|##|'.join(items)}]" - + data_parts.append(f"{key_name}:{field_value}") i += 1 - + # 验证是否有数据 if not data_parts: return "没有可更新的数据", 400 - + # 构建新的数据字符串 data_value = "|###|".join(data_parts) - + # 构造更新数据 updated_data = { 'data': data_value, 'image': original_doc.get('image', '') # 保持原图片 } - + # 更新文档 if update_by_id(doc_id, updated_data): return redirect(url_for('show_all')) @@ -377,21 +377,21 @@ def delete_entry(doc_id): def serve_image(filename): """ 提供image目录下图片的访问服务 - + 参数: filename (str): 图片文件名 - + 返回: 图片文件或404错误 """ import os from flask import send_from_directory - + # 确保文件存在 image_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'image') if not os.path.exists(os.path.join(image_dir, filename)): return "图片不存在", 404 - + # 发送图片文件 return send_from_directory(image_dir, filename)