爆改了数据可视化
This commit is contained in:
@@ -14,6 +14,12 @@ from django.views.decorators.csrf import ensure_csrf_cookie
|
||||
from django.views.decorators.csrf import csrf_exempt, ensure_csrf_cookie, csrf_protect
|
||||
from .es_connect import *
|
||||
from .es_connect import update_user_by_id as es_update_user_by_id, delete_user_by_id as es_delete_user_by_id
|
||||
from .es_connect import (
|
||||
analytics_trend as es_analytics_trend,
|
||||
analytics_types as es_analytics_types,
|
||||
analytics_types_trend as es_analytics_types_trend,
|
||||
analytics_recent as es_analytics_recent,
|
||||
)
|
||||
from PIL import Image
|
||||
|
||||
|
||||
@@ -80,16 +86,6 @@ def get_all_data(request):
|
||||
except Exception as e:
|
||||
return JsonResponse({"status": "error", "message": str(e)}, status=500)
|
||||
|
||||
@require_http_methods(["GET"])
|
||||
def analytics_overview(request):
|
||||
try:
|
||||
force = request.GET.get("force") == "1"
|
||||
data = get_analytics_overview(force=force)
|
||||
return JsonResponse({"status": "success", "data": data})
|
||||
except Exception as e:
|
||||
return JsonResponse({"status": "error", "message": str(e)}, status=500)
|
||||
|
||||
|
||||
@require_http_methods(["DELETE"])
|
||||
@csrf_exempt
|
||||
def delete_data(request, doc_id):
|
||||
@@ -159,7 +155,11 @@ def update_data(request, doc_id):
|
||||
if isinstance(v, dict):
|
||||
updated["data"] = json.dumps(v, ensure_ascii=False)
|
||||
else:
|
||||
updated["data"] = str(v)
|
||||
try:
|
||||
obj = json.loads(str(v))
|
||||
updated["data"] = json.dumps(obj, ensure_ascii=False)
|
||||
except Exception:
|
||||
updated["data"] = str(v)
|
||||
|
||||
success = update_by_id(doc_id, updated)
|
||||
if success:
|
||||
@@ -511,6 +511,67 @@ def manage_page(request):
|
||||
context = {"items": results, "user_id": user_id_qs or session_user_id}
|
||||
return render(request, "elastic/manage.html", context)
|
||||
|
||||
|
||||
@require_http_methods(["GET"])
|
||||
def analytics_trend_view(request):
|
||||
try:
|
||||
gte = request.GET.get("from")
|
||||
lte = request.GET.get("to")
|
||||
interval = request.GET.get("interval", "day")
|
||||
data = es_analytics_trend(gte=gte, lte=lte, interval=interval)
|
||||
return JsonResponse({"status": "success", "data": data})
|
||||
except Exception as e:
|
||||
return JsonResponse({"status": "error", "message": str(e)}, status=500)
|
||||
|
||||
|
||||
@require_http_methods(["GET"])
|
||||
def analytics_types_view(request):
|
||||
try:
|
||||
gte = request.GET.get("from")
|
||||
lte = request.GET.get("to")
|
||||
size = request.GET.get("size")
|
||||
try:
|
||||
size_int = int(size) if size is not None else 10
|
||||
except Exception:
|
||||
size_int = 10
|
||||
data = es_analytics_types(gte=gte, lte=lte, size=size_int)
|
||||
return JsonResponse({"status": "success", "data": data})
|
||||
except Exception as e:
|
||||
return JsonResponse({"status": "error", "message": str(e)}, status=500)
|
||||
|
||||
|
||||
@require_http_methods(["GET"])
|
||||
def analytics_types_trend_view(request):
|
||||
try:
|
||||
gte = request.GET.get("from")
|
||||
lte = request.GET.get("to")
|
||||
interval = request.GET.get("interval", "week")
|
||||
size = request.GET.get("size")
|
||||
try:
|
||||
size_int = int(size) if size is not None else 8
|
||||
except Exception:
|
||||
size_int = 8
|
||||
data = es_analytics_types_trend(gte=gte, lte=lte, interval=interval, size=size_int)
|
||||
return JsonResponse({"status": "success", "data": data})
|
||||
except Exception as e:
|
||||
return JsonResponse({"status": "error", "message": str(e)}, status=500)
|
||||
|
||||
|
||||
@require_http_methods(["GET"])
|
||||
def analytics_recent_view(request):
|
||||
try:
|
||||
limit = request.GET.get("limit")
|
||||
gte = request.GET.get("from")
|
||||
lte = request.GET.get("to")
|
||||
try:
|
||||
limit_int = int(limit) if limit is not None else 10
|
||||
except Exception:
|
||||
limit_int = 10
|
||||
data = es_analytics_recent(limit=limit_int, gte=gte, lte=lte)
|
||||
return JsonResponse({"status": "success", "data": data})
|
||||
except Exception as e:
|
||||
return JsonResponse({"status": "error", "message": str(e)}, status=500)
|
||||
|
||||
@require_http_methods(["GET"])
|
||||
@ensure_csrf_cookie
|
||||
def user_manage(request):
|
||||
|
||||
Reference in New Issue
Block a user