from django.views.decorators.http import require_http_methods from django.views.decorators.csrf import csrf_exempt from admin_site.utils import setError, setSuccess, userPersonToDictionary,is_token from admin_site.decorator import my_decorator from django.contrib.auth.decorators import login_required import os from django.http import HttpResponse, Http404, StreamingHttpResponse,JsonResponse from .tasks import add @csrf_exempt @require_http_methods(["POST", "GET"]) def index(request): # print(request.path) # login_required(request) # print(request.GET.get('token')) token = request.GET.get('token') print(25, os.getcwd()) try: error = is_token(token) print(error) # if error: # return error file_path = os.getcwd() + request.path print(file_path) response = StreamingHttpResponse(open(file_path, 'rb')) response['content_type'] = "application/octet-stream" response['Content-Disposition'] = 'attachment; filename=' + os.path.basename(file_path) return response except Exception: raise Http404 # return HttpResponse(setError("文件不存在 index")) @csrf_exempt @require_http_methods(["POST", "GET"]) def info(request): return HttpResponse(setError("文件不存在 info")) @csrf_exempt @require_http_methods(["POST", "GET"]) def test(request): # result = waste_time.delay(2, 3) # return HttpResponse(result.task_id) # return HttpResponse(result.task_id) # return HttpResponse(setError("文件不存在 info")) result = add.delay(1, 2) return HttpResponse(result.get())