|
|
|
@ -6,7 +6,7 @@ from django.db.models import F, QuerySet, Count |
|
|
|
|
from django.http import JsonResponse, StreamingHttpResponse, FileResponse |
|
|
|
|
from django.shortcuts import HttpResponse, render, redirect, reverse |
|
|
|
|
from django.contrib.auth.decorators import login_required |
|
|
|
|
from django.views.decorators.cache import cache_page |
|
|
|
|
# from django.views.decorators.cache import cache_page |
|
|
|
|
from django.core.cache import cache |
|
|
|
|
from django.conf import settings |
|
|
|
|
from .forms import * |
|
|
|
@ -19,7 +19,7 @@ from .csdn import get_image |
|
|
|
|
from wsgiref.util import FileWrapper |
|
|
|
|
from urllib.parse import quote |
|
|
|
|
|
|
|
|
|
@cache_page(60) |
|
|
|
|
#@cache_page(60) |
|
|
|
|
def index(request): |
|
|
|
|
name = None |
|
|
|
|
if request.user.is_authenticated: |
|
|
|
@ -96,7 +96,7 @@ def register(request): |
|
|
|
|
return render(request, 'register.html') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@cache_page(60) |
|
|
|
|
#@cache_page(60) |
|
|
|
|
@login_required |
|
|
|
|
def dashboard(request, type): |
|
|
|
|
username = auth.get_user(request).username |
|
|
|
@ -230,7 +230,6 @@ def getData(username, time, type='login'): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def getAddr(ip=None): |
|
|
|
|
print(ip) |
|
|
|
|
info = requests.get('http://ip-api.com/json/' + ip + '?lang=zh-CN') |
|
|
|
|
if info: |
|
|
|
|
return info.json() |
|
|
|
@ -271,17 +270,19 @@ def addTask(request): |
|
|
|
|
|
|
|
|
|
@login_required |
|
|
|
|
def checkTask(request, id): |
|
|
|
|
request.COOKIES['sign'] = 1 |
|
|
|
|
data = Task.objects.filter(id=id).get() |
|
|
|
|
userdata = json.loads(data.task_content) |
|
|
|
|
if request.method == 'POST': |
|
|
|
|
if request.COOKIES.get('sign'): |
|
|
|
|
return render(request, 'task/detailed.html', {'data': userdata['userlist'], 'id': id}) |
|
|
|
|
task = Task.objects.get(id=id) |
|
|
|
|
jsondata = json.loads(task.task_content) |
|
|
|
|
jsondata['userlist'][request.GET.get('name')] = {'status': '已完成', 'update_time': str(datetime.datetime.now())} |
|
|
|
|
Task.objects.filter(id=id).update(task_content=json.dumps(jsondata, ensure_ascii=False)) |
|
|
|
|
return redirect(reverse('App:checkTask', kwargs={'id': id})) |
|
|
|
|
url = request.get_raw_uri().split('?')[0] |
|
|
|
|
if eval(request.COOKIES.get(f'sign{id}', '{}')).get('url') != url: |
|
|
|
|
print(request.COOKIES,url) |
|
|
|
|
task = Task.objects.get(id=id) |
|
|
|
|
jsondata = json.loads(task.task_content) |
|
|
|
|
jsondata['userlist'][request.GET.get('name')] = {'status': '已完成', 'update_time': str(datetime.datetime.now())} |
|
|
|
|
Task.objects.filter(id=id).update(task_content=json.dumps(jsondata, ensure_ascii=False)) |
|
|
|
|
obj = redirect(reverse('App:checkTask', kwargs={'id': id})) |
|
|
|
|
obj.set_cookie(f'sign{id}', {'url': request.get_raw_uri().split('?')[0], 'sign_num': eval(request.COOKIES.get(f'sign{id}','{}')).get('sign_num',0) + 1}, expires=60 * 60 * 24) |
|
|
|
|
return obj |
|
|
|
|
return render(request, 'task/detailed.html', {'data': userdata['userlist'],'id':id}) |
|
|
|
|
|
|
|
|
|
@csrf_exempt |
|
|
|
|