解决方案

1.安装django-cors-headers

  1. pip install django-cors-headers

2.配置settings.py文件

  1. INSTALLED_APPS = [
  2. ...
  3. 'corsheaders'
  4. ...
  5. ]
  6. MIDDLEWARE_CLASSES = (
  7. ...
  8. 'corsheaders.middleware.CorsMiddleware',
  9. 'django.middleware.common.CommonMiddleware', # 注意顺序
  10. ...
  11. )
  12. # 跨域允许的请求方式,可以使用默认值,默认的请求方式为:
  13. # from corsheaders.defaults import default_methods
  14. CORS_ALLOW_METHODS = (
  15. 'GET',
  16. 'POST',
  17. 'PUT',
  18. 'PATCH',
  19. 'DELETE',
  20. 'OPTIONS'
  21. )
  22. # 允许跨域的请求头,可以使用默认值,默认的请求头为:
  23. # from corsheaders.defaults import default_headers
  24. # CORS_ALLOW_HEADERS = default_headers
  25. CORS_ALLOW_HEADERS = (
  26. 'XMLHttpRequest',
  27. 'X_FILENAME',
  28. 'accept-encoding',
  29. 'authorization',
  30. 'content-type',
  31. 'dnt',
  32. 'origin',
  33. 'user-agent',
  34. 'x-csrftoken',
  35. 'x-requested-with',
  36. 'Pragma',
  37. )
  38. # 跨域请求时,是否运行携带cookie,默认为False
  39. CORS_ALLOW_CREDENTIALS = True
  40. # 允许所有主机执行跨站点请求,默认为False
  41. # 如果没设置该参数,则必须设置白名单,运行部分白名单的主机才能执行跨站点请求
  42. CORS_ORIGIN_ALLOW_ALL = True

OK!问题解决!