views.py
2.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
from django.shortcuts import render, get_object_or_404, redirect, Http404
from django.utils import timezone
from django.contrib.auth.decorators import login_required
from django.views.generic import FormView
from restful.models import File
from django.views import View
from django.core.files.base import ContentFile
from django.middleware import csrf
import requests
def home(request):
return render(request, 'website/home.html')
@login_required
def file_list(request, path):
cookies = {'sessionid' : request.session.session_key}
files = requests.get('http://localhost:8000/restapi/list/'+path, cookies=cookies)
ret = files.json()
ret['path'] = path
return render(request, 'website/file_list.html', ret)
@login_required
def file_upload(request, path):
file = request.FILES.get('file')
cookies = {'sessionid' : request.session.session_key}
cookies['csrftoken'] = csrf.get_token(request)
headers = {'X-CSRFToken': cookies['csrftoken']}
requests.post('http://localhost:8000/restapi/list/'+path, files={'file': file}, headers=headers, cookies=cookies)
return redirect('file_list', path=path)
@login_required
def make_folder(request, path):
dir_name = request.POST.get('dir_name')
cookies = {'sessionid' : request.session.session_key}
cookies['csrftoken'] = csrf.get_token(request)
headers = {'X-CSRFToken': cookies['csrftoken']}
files = requests.put('http://localhost:8000/restapi/list/'+path, headers=headers, cookies=cookies)
return redirect('file_list', path=path)
@login_required
def file_delete(request, path):
cookies = {'sessionid' : request.session.session_key}
cookies['csrftoken'] = csrf.get_token(request)
headers = {'X-CSRFToken': cookies['csrftoken']}
requests.delete('http://localhost:8000/restapi/file/'+path, headers=headers, cookies=cookies)
return redirect('file_list', path="/".join(path.split("/")[:-2]))
@login_required
def file_download(request, path):
cookies = {'sessionid' : request.session.session_key}
requests.get('http://localhost:8000/restapi/file/'+path, cookies=cookies)
return redirect('file_list', path="/".join(path.split("/")[:-2]))