diff --git a/db.sqlite3 b/db.sqlite3 index 664e4fe..a324e3a 100644 Binary files a/db.sqlite3 and b/db.sqlite3 differ diff --git a/elastic/urls.py b/elastic/urls.py index e34bf39..07a1574 100644 --- a/elastic/urls.py +++ b/elastic/urls.py @@ -28,4 +28,7 @@ urlpatterns = [ path('upload-page/', views.upload_page, name='upload_page'), path('upload/', views.upload, name='upload'), path('confirm/', views.confirm, name='confirm'), + + # 管理页面 + path('manage/', views.manage_page, name='manage_page'), ] diff --git a/elastic/views.py b/elastic/views.py index 141a2b8..4dd13de 100644 --- a/elastic/views.py +++ b/elastic/views.py @@ -338,3 +338,39 @@ def confirm(request): return JsonResponse({"status": "error", "message": "写入ES失败"}, status=500) return JsonResponse({"status": "success", "message": "数据录入成功", "data": edited}) + + +@require_http_methods(["GET"]) +def manage_page(request): + if not request.session.get("user_id"): + from django.shortcuts import redirect + return redirect("/accounts/login/") + if request.session.get("permission", 1) != 0: + from django.http import HttpResponseForbidden + return HttpResponseForbidden("forbidden") + results = search_all() + return render(request, "elastic/manage.html", {"items": results}) + + +@require_http_methods(["GET"]) +def manage_page(request): + if not request.session.get("user_id"): + from django.shortcuts import redirect + return redirect("/accounts/login/") + if request.session.get("permission", 1) != 0: + from django.http import HttpResponseForbidden + return HttpResponseForbidden("forbidden") + results = search_all() + expanded = [] + for item in results: + try: + data_obj = json.loads(item.get("data", "{}")) if isinstance(item.get("data"), str) else {} + except Exception: + data_obj = {} + expanded.append({ + "_id": item.get("_id", ""), + "writer_id": item.get("writer_id", ""), + "image": item.get("image", ""), + "data": data_obj, + }) + return render(request, "elastic/manage.html", {"items": expanded}) diff --git a/main/templates/main/home.html b/main/templates/main/home.html index 146ba8f..371a993 100644 --- a/main/templates/main/home.html +++ b/main/templates/main/home.html @@ -19,6 +19,7 @@