98 lines
2.7 KiB
Python
98 lines
2.7 KiB
Python
import os
|
|
import random
|
|
import time
|
|
|
|
from django.http import JsonResponse
|
|
from django.shortcuts import render
|
|
|
|
from pages.models import Message
|
|
from chart.models import PlottingLibrary
|
|
from chart import tools
|
|
|
|
path = os.getcwd()
|
|
|
|
|
|
# def tick():
|
|
# file_list = os.listdir(f"{path}/file_keep")
|
|
#
|
|
# for i in file_list:
|
|
# try:
|
|
# int(i)
|
|
# except:
|
|
# pass
|
|
#
|
|
# else:
|
|
# os.system(f"rm -r {path}/file_keep/{i}")
|
|
#
|
|
#
|
|
# scheduler = BackgroundScheduler()
|
|
# scheduler.add_job(tick, 'interval', minutes=0.5)
|
|
# scheduler.start()
|
|
|
|
|
|
# 返回随机生成的头像
|
|
def icon_create():
|
|
icon_list = ["layui-icon-heart-fill", 'layui-icon-rate-half', 'layui-icon-rate',
|
|
'layui-icon-cellphone', 'layui-icon-snowflake', 'layui-icon-read',
|
|
'layui-icon-headset', 'layui-icon-release']
|
|
return random.choice(icon_list)
|
|
|
|
|
|
# 返回前端时间
|
|
def time_f():
|
|
return time.strftime("%Y-%m-%d", time.localtime())
|
|
|
|
|
|
# 返回首页
|
|
def index(request):
|
|
return render(request, './page/index.html')
|
|
|
|
|
|
# 返回静态页面
|
|
def out_page(request, page_name):
|
|
if "Dot_Plot.html" in page_name:
|
|
|
|
return render(request, f'./chart/{page_name}')
|
|
else:
|
|
return render(request, f'./page/{page_name}', {"url": tools.url_})
|
|
|
|
|
|
# 处理留言信息
|
|
def message(request):
|
|
message_text = request.GET.get("message", None)
|
|
get_break = request.GET.get("get_break", None)
|
|
|
|
if get_break == "1":
|
|
return JsonResponse({'data': [{"icon": i.icon, 'data': i.data, 'time': i.time} for i in Message.objects.all()]})
|
|
|
|
if message_text is None or len(message_text) < 1:
|
|
message_text = "You didn't make any comments and wasted dozens of K of traffic."
|
|
|
|
db = Message(data=message_text, icon=icon_create(), time=time_f())
|
|
db.save()
|
|
return JsonResponse({"data": message_text, 'icon': icon_create(), "time": time_f()})
|
|
|
|
|
|
# 返回首页信息
|
|
def sort_load(request):
|
|
page = int(request.GET.get("page"))
|
|
sort = request.GET.get("sort", "all")
|
|
|
|
if sort == "all":
|
|
a = len(PlottingLibrary.objects.all())
|
|
pages = tools.return_pages(a)
|
|
return_data = PlottingLibrary.objects.all()[(page - 1) * 12:]
|
|
if len(return_data) >= 12:
|
|
return_data = return_data[:12]
|
|
elif sort == "Scatter":
|
|
a = len(PlottingLibrary.objects.filter(sort="scatter"))
|
|
pages = tools.return_pages(a)
|
|
return_data = PlottingLibrary.objects.filter(sort="scatter")[(page - 1) * 12:]
|
|
if len(return_data) >= 12:
|
|
return_data = return_data[:12]
|
|
|
|
data = {"pages": pages, 'data': [{"name": i.name, "url": i.url, "show_chart": i.index_img}
|
|
for i in return_data]}
|
|
|
|
return JsonResponse(data)
|