Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django cors头文件不能与DRF(django Rest框架)一起使用_Python_Django_Django Rest Framework_Python 3.6_Django Cors Headers - Fatal编程技术网

Python django cors头文件不能与DRF(django Rest框架)一起使用

Python django cors头文件不能与DRF(django Rest框架)一起使用,python,django,django-rest-framework,python-3.6,django-cors-headers,Python,Django,Django Rest Framework,Python 3.6,Django Cors Headers,我正试图添加到django rest API中,以便在响应对象中添加HTTP头访问控制允许源代码,但我没有成功地使其工作。我已经按照官方文件中的指示进行了操作,但我无法使其正常工作 以下是我的settings.py文件的内容: ... 已安装的应用程序=[ “西装”, “django.contrib.admin”, “django.contrib.auth”, “django.contrib.contenttypes”, “django.contrib.sessions”, “django.c

我正试图添加到django rest API中,以便在响应对象中添加HTTP头
访问控制允许源代码,但我没有成功地使其工作。我已经按照官方文件中的指示进行了操作,但我无法使其正常工作

以下是我的
settings.py
文件的内容:

...
已安装的应用程序=[
“西装”,
“django.contrib.admin”,
“django.contrib.auth”,
“django.contrib.contenttypes”,
“django.contrib.sessions”,
“django.contrib.messages”,
“django.contrib.staticfiles”,
“rest_框架”,
“护卫舰”,
“hvad”,
“rest_framework.authtoken”,
“休息时大摇大摆”,
“accounts.apps.AccountsConfig”,
“剩余授权”,
]
...
中间件:[
“corsheaders.middleware.Corsmidlware”,
'django.middleware.common.CommonMiddleware',
...
]
...
#CORS配置
CORS\u ORIGIN\u ALLOW\u ALL=True
CORS\u ALLOW\u凭证=False

我正在使用:
  • Django 1.11.14
  • django cors headers 2.4.0
  • Djangorest框架3.8.2
  • python 3.6.5
  • pip 10.0.1
  • 视窗10

如果您使用的是Chrome,请使用

================================================================================

CORS_URLS_REGEX = r'^/*$'
CORS_允许_方法

实际请求允许的HTTP谓词列表。默认为:

CORS_ALLOW_METHODS = (
    'DELETE',
    'GET',
    'OPTIONS',
    'PATCH',
    'POST',
    'PUT',
)

CORS_ALLOW_HEADERS = (
    'accept',
    'accept-encoding',
    'authorization',
    'content-type',
    'dnt',
    'origin',
    'user-agent',
    'x-csrftoken',
    'x-requested-with',
)

django cors headers
相当简单,您的配置在我看来是正确的

然而,我也遇到了一个难题:
如果将服务器配置为在不调用Django/Python的情况下提供静态文件(即使在内置服务器上也很常见),
Django-cors-headers
无法将cors-header应用于这些响应。
根据浏览器的不同,这将导致异步请求、字体、有时甚至图像、视频和音频出现问题


你的问题不清楚。错误是什么?有什么问题吗?对不起,我不清楚。我试图使用django cors headers包在我的REST API的Response对象中添加一些HTTP头,官方DRF文档建议使用此包来处理cors这里是您得到的错误是什么使您相信它不起作用?我没有收到任何错误,只是我的django cors头没有添加HTTP头访问控制Allow Origin最后,它只在我创建一个新的中间件文件时起作用,下面是这个文件