from django.http import HttpResponse from django.shortcuts import render from django.contrib.auth.decorators import login_required from models import Folder from file.models import File from django.contrib.auth.models import User import json # Create your views here. DEBUG = 1 # 在根目录下列出所有文件夹与文件 @login_required(login_url='/account/login/') def folder_list(request): if request.method == 'POST': # 获取所有文件夹 folders = Folder.objects.filter(father_folder=request.Folder).get() files = File.objects.filter(folder=request.Folder).get() response = [] for i in folders: response.append(i) for i in files: response.append(i) return HttpResponse(json.dumps(response), status=200) elif request.method == 'GET': if DEBUG: return render(request, 'folder_list.html') else: return HttpResponse(status=400) # 增文件夹 @login_required(login_url='/account/login/') def add_folder(request): if request.method == 'post': folder = Folder.objects.filter(father_folder__folder_id=request.Folder.folder_id).get() if not folder: # 查无此文件夹 return HttpResponse(status=421) else: Folder.objects.create(folder_id=request.Folder.folder_id, folder_name=request.Folder.folder_name, father_folder=folder) return HttpResponse(status=200) elif request.method == 'GET': if DEBUG: return render(request, 'add_folder.html') else: return HttpResponse(status=400) # 删除文件夹 @login_required(login_url='/account/login/') def delete_folder(request): if request.method == 'post': folder = Folder.objects.filter(folder_id=request.Folder.folder_id).get() if not folder: # 查无此文件夹 return HttpResponse(status=421) else: folder.delete() return HttpResponse(status=200) elif request.method == 'GET': if DEBUG: return render(request, 'delete_folder.html') else: return HttpResponse(status=400)