views.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. from django.views.decorators.http import require_http_methods
  2. from django.views.decorators.csrf import csrf_exempt
  3. from admin_site.utils import setError, setSuccess, userPersonToDictionary,is_token
  4. from admin_site.decorator import my_decorator
  5. from django.contrib.auth.decorators import login_required
  6. import os
  7. from django.http import HttpResponse, Http404, StreamingHttpResponse,JsonResponse
  8. from .tasks import add
  9. @csrf_exempt
  10. @require_http_methods(["POST", "GET"])
  11. def index(request):
  12. # print(request.path)
  13. # login_required(request)
  14. # print(request.GET.get('token'))
  15. token = request.GET.get('token')
  16. print(25, os.getcwd())
  17. try:
  18. error = is_token(token)
  19. print(error)
  20. # if error:
  21. # return error
  22. file_path = os.getcwd() + request.path
  23. print(file_path)
  24. response = StreamingHttpResponse(open(file_path, 'rb'))
  25. response['content_type'] = "application/octet-stream"
  26. response['Content-Disposition'] = 'attachment; filename=' + os.path.basename(file_path)
  27. return response
  28. except Exception:
  29. raise Http404
  30. # return HttpResponse(setError("文件不存在 index"))
  31. @csrf_exempt
  32. @require_http_methods(["POST", "GET"])
  33. def info(request):
  34. return HttpResponse(setError("文件不存在 info"))
  35. @csrf_exempt
  36. @require_http_methods(["POST", "GET"])
  37. def test(request):
  38. # result = waste_time.delay(2, 3)
  39. # return HttpResponse(result.task_id)
  40. # return HttpResponse(result.task_id)
  41. # return HttpResponse(setError("文件不存在 info"))
  42. result = add.delay(1, 2)
  43. return HttpResponse(result.get())