在items_list里新增了able_list_content 可用于子页面继承修改
This commit is contained in:
parent
1fb720e935
commit
b88928b3b2
|
@ -148,28 +148,40 @@ def excel_preview(request):
|
|||
|
||||
|
||||
def common_save(request):
|
||||
# 如果请求方法是POST
|
||||
if request.method == 'POST':
|
||||
try:
|
||||
# 解析请求体中的JSON数据
|
||||
body = json.loads(request.body)
|
||||
# 获取data字段,如果没有则默认为None
|
||||
data = body.get('data', None)
|
||||
# 获取session中的excel_valid_model字段,如果没有则默认为None
|
||||
model_name = request.session.get('excel_valid_model', None)
|
||||
|
||||
# 如果data或model_name为空,返回错误响应
|
||||
if not data or not model_name:
|
||||
return JsonResponse({'status': 'error', 'message': '无效的数据或模型'})
|
||||
|
||||
# 创建一个ExcelDataSaver对象,用于保存数据
|
||||
data_saver = ExcelDataSaver(model_name, data)
|
||||
|
||||
# 如果数据保存成功
|
||||
if data_saver.save_data():
|
||||
# 删除会话中的特定键
|
||||
# 删除会话中的columns、table_data和excel_valid_model字段
|
||||
request.session.pop('columns', None)
|
||||
request.session.pop('table_data', None)
|
||||
request.session.pop('excel_valid_model', None)
|
||||
# 获取成功保存后的重定向URL
|
||||
redirect_url = request.session.pop('excel_save_success_direct', None)
|
||||
# 返回成功响应
|
||||
return JsonResponse({'status': 'success', 'message': '数据已成功保存', 'redirect_url': redirect_url})
|
||||
else:
|
||||
# 返回错误响应,包含错误信息
|
||||
return JsonResponse({'status': 'error', 'message': '数据验证失败', 'errors': data_saver.get_errors()})
|
||||
|
||||
except json.JSONDecodeError:
|
||||
# 如果解析请求体中的JSON数据失败,返回错误响应
|
||||
return JsonResponse({'status': 'error', 'message': '无法解析请求的JSON数据'})
|
||||
|
||||
# 如果请求方法不是POST,返回错误响应
|
||||
return JsonResponse({'status': 'error', 'message': '仅支持POST请求'})
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
{% load static tags %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% block table_list_content %}
|
||||
<section class="pcoded-main-container">
|
||||
<div class="pcoded-wrapper">
|
||||
<div class="pcoded-content">
|
||||
|
@ -137,6 +139,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
||||
<div id="addEditModal" class="modal fade bd-example-modal-lg" tabindex="-1" role="dialog"
|
||||
aria-labelledby="formModalCenterTitle" aria-hidden="true">
|
||||
|
|
Loading…
Reference in New Issue