改了一点前端显示(

This commit is contained in:
DSQ
2026-03-05 21:00:37 +08:00
parent 418cc798df
commit 193f739693
3 changed files with 38 additions and 8 deletions

View File

@@ -333,7 +333,7 @@ function renderTable(data) {
<td> <td>
<pre style="white-space:pre-wrap; word-wrap:break-word; max-height: 100px; overflow-y: auto; font-size: 12px; margin: 0;">${escapeHtml(displayData)}</pre> <pre style="white-space:pre-wrap; word-wrap:break-word; max-height: 100px; overflow-y: auto; font-size: 12px; margin: 0;">${escapeHtml(displayData)}</pre>
</td> </td>
<td style="font-size: 12px;">${item.writer_id || ''}</td> <td style="font-size: 12px;">${item.writer_name || item.writer_id || ''}</td>
<td> <td>
<button class="btn btn-primary" onclick="openEdit('${item._id || item.id}')">编辑</button> <button class="btn btn-primary" onclick="openEdit('${item._id || item.id}')">编辑</button>
<button class="btn btn-danger" onclick="doDelete('${item._id || item.id}')">删除</button> <button class="btn btn-danger" onclick="doDelete('${item._id || item.id}')">删除</button>

View File

@@ -81,6 +81,21 @@ def _attach_image_urls(request, items):
return out return out
def _attach_writer_names(items):
users = get_all_users()
name_by_id = {str(u.get("user_id")): u.get("username") for u in (users or [])}
out = []
for it in list(items or []):
try:
d = dict(it or {})
except Exception:
continue
wid = d.get("writer_id")
d["writer_name"] = name_by_id.get(str(wid), str(wid) if wid is not None else "")
out.append(d)
return out
@require_http_methods(["GET", "POST"]) @require_http_methods(["GET", "POST"])
@csrf_exempt @csrf_exempt
def init_index(request): def init_index(request):
@@ -117,7 +132,8 @@ def search(request):
return JsonResponse({"status": "error", "message": "搜索关键词不能为空"}, status=400) return JsonResponse({"status": "error", "message": "搜索关键词不能为空"}, status=400)
results = search_data(query) results = search_data(query)
return JsonResponse({"status": "success", "data": _attach_image_urls(request, results)}) data = _attach_writer_names(_attach_image_urls(request, results))
return JsonResponse({"status": "success", "data": data})
except Exception as e: except Exception as e:
return JsonResponse({"status": "error", "message": str(e)}, status=500) return JsonResponse({"status": "error", "message": str(e)}, status=500)
@@ -131,7 +147,8 @@ def fuzzy_search(request):
return JsonResponse({"status": "error", "message": "搜索关键词不能为空"}, status=400) return JsonResponse({"status": "error", "message": "搜索关键词不能为空"}, status=400)
results = search_by_any_field(keyword) results = search_by_any_field(keyword)
return JsonResponse({"status": "success", "data": _attach_image_urls(request, results)}) data = _attach_writer_names(_attach_image_urls(request, results))
return JsonResponse({"status": "success", "data": data})
except Exception as e: except Exception as e:
return JsonResponse({"status": "error", "message": str(e)}, status=500) return JsonResponse({"status": "error", "message": str(e)}, status=500)
@@ -140,7 +157,8 @@ def get_all_data(request):
"""获取所有数据""" """获取所有数据"""
try: try:
results = search_all() results = search_all()
return JsonResponse({"status": "success", "data": _attach_image_urls(request, results)}) data = _attach_writer_names(_attach_image_urls(request, results))
return JsonResponse({"status": "success", "data": data})
except Exception as e: except Exception as e:
return JsonResponse({"status": "error", "message": str(e)}, status=500) return JsonResponse({"status": "error", "message": str(e)}, status=500)
@@ -493,7 +511,11 @@ def upload_page(request):
from django.shortcuts import redirect from django.shortcuts import redirect
return redirect("/accounts/login/") return redirect("/accounts/login/")
user_id_qs = request.GET.get("user_id") user_id_qs = request.GET.get("user_id")
context = {"user_id": user_id_qs or session_user_id} me = get_user_by_id(session_user_id) or {}
context = {
"user_id": user_id_qs or session_user_id,
"username": me.get("username"),
}
return render(request, "elastic/upload.html", context) return render(request, "elastic/upload.html", context)
@@ -666,6 +688,7 @@ def manage_page(request):
from django.shortcuts import redirect from django.shortcuts import redirect
return redirect("/accounts/login/") return redirect("/accounts/login/")
me = get_user_by_id(session_user_id) or {}
is_admin = int(request.session.get("permission", 1)) == 0 is_admin = int(request.session.get("permission", 1)) == 0
if is_admin: if is_admin:
raw_results = search_all() raw_results = search_all()
@@ -690,6 +713,7 @@ def manage_page(request):
"results": results, "results": results,
"is_admin": is_admin, "is_admin": is_admin,
"user_id": session_user_id, "user_id": session_user_id,
"username": me.get("username"),
}, },
) )
# 规范化键,避免模板点号访问下划线前缀字段 # 规范化键,避免模板点号访问下划线前缀字段
@@ -779,6 +803,7 @@ def user_manage(request):
user_id_qs = request.GET.get("user_id") user_id_qs = request.GET.get("user_id")
context = { context = {
"user_id": user_id_qs or session_user_id, "user_id": user_id_qs or session_user_id,
"username": me.get("username"),
"is_admin": is_admin, "is_admin": is_admin,
"is_tutor": (not is_admin) and has_manage, "is_tutor": (not is_admin) and has_manage,
"is_student": (not is_admin) and (not has_manage), "is_student": (not is_admin) and (not has_manage),
@@ -796,7 +821,11 @@ def registration_code_manage_page(request):
from django.shortcuts import redirect from django.shortcuts import redirect
return redirect("/main/home/") return redirect("/main/home/")
user_id_qs = request.GET.get("user_id") user_id_qs = request.GET.get("user_id")
context = {"user_id": user_id_qs or session_user_id} me = get_user_by_id(session_user_id) or {}
context = {
"user_id": user_id_qs or session_user_id,
"username": me.get("username"),
}
return render(request, "elastic/registration_codes.html", context) return render(request, "elastic/registration_codes.html", context)
@require_http_methods(["GET"]) @require_http_methods(["GET"])

View File

@@ -14,8 +14,8 @@ def home(request):
user_id_qs = request.GET.get("user_id") user_id_qs = request.GET.get("user_id")
uid = user_id_qs or session_user_id uid = user_id_qs or session_user_id
perm = request.session.get("permission") perm = request.session.get("permission")
u = get_user_by_id(uid) if uid is not None else None
if perm is None and uid is not None: if perm is None and uid is not None:
u = get_user_by_id(uid)
try: try:
perm = int((u or {}).get("permission", 1)) perm = int((u or {}).get("permission", 1))
except Exception: except Exception:
@@ -28,6 +28,7 @@ def home(request):
perm = 1 perm = 1
context = { context = {
"user_id": uid, "user_id": uid,
"username": (u or {}).get("username"),
"is_admin": (int(perm) == 0), "is_admin": (int(perm) == 0),
} }
return render(request, "main/home.html", context) return render(request, "main/home.html", context)