|
|
|
@ -39,16 +39,7 @@ def login(request): |
|
|
|
|
password = form.cleaned_data.get('loginPass') |
|
|
|
|
user = authenticate(username=username, password=password) |
|
|
|
|
auth.login(request, user) |
|
|
|
|
#info = getAddr(request.META['REMOTE_ADDR']) |
|
|
|
|
info = { |
|
|
|
|
"status": "success", |
|
|
|
|
"query": "none", |
|
|
|
|
"city": "none", |
|
|
|
|
"country": "none", |
|
|
|
|
"regionName": "none", |
|
|
|
|
"lat": "none", |
|
|
|
|
"lon": "none" |
|
|
|
|
} |
|
|
|
|
info = getAddr(request.META['HTTP_X_FORWARDED_FOR']) if 'HTTP_X_FORWARDED_FOR' in request.META else getAddr(request.META['REMOTE_ADDR']) |
|
|
|
|
if info['status'] == 'success': |
|
|
|
|
Login.objects.create(username=username, client_addr=info['query'], city=info['city'], |
|
|
|
|
country=info['country'], region=info['regionName'], latitude=info['lat'], |
|
|
|
@ -239,10 +230,21 @@ def getData(username, time, type='login'): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def getAddr(ip=None): |
|
|
|
|
ip = requests.get('https://httpbin.org/ip').json()['origin'] |
|
|
|
|
print(ip) |
|
|
|
|
info = requests.get('http://ip-api.com/json/' + ip + '?lang=zh-CN') |
|
|
|
|
info = info.json() |
|
|
|
|
return info |
|
|
|
|
if info: |
|
|
|
|
return info.json() |
|
|
|
|
else: |
|
|
|
|
info = { |
|
|
|
|
"status": "success", |
|
|
|
|
"query": "none", |
|
|
|
|
"city": "none", |
|
|
|
|
"country": "none", |
|
|
|
|
"regionName": "none", |
|
|
|
|
"lat": "none", |
|
|
|
|
"lon": "none" |
|
|
|
|
} |
|
|
|
|
return info |
|
|
|
|
|
|
|
|
|
@login_required |
|
|
|
|
def listImage(request): |
|
|
|
@ -269,14 +271,17 @@ 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})) |
|
|
|
|
data = Task.objects.filter(id=id).get() |
|
|
|
|
userdata = json.loads(data.task_content) |
|
|
|
|
return render(request, 'task/detailed.html', {'data': userdata['userlist'],'id':id}) |
|
|
|
|
|
|
|
|
|
@csrf_exempt |
|
|
|
|