Django:django-cors-headers 报错no module named "corsheaders"

Posted 2012-dream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django:django-cors-headers 报错no module named "corsheaders"相关的知识,希望对你有一定的参考价值。

django跨域使用

pip install django-cors-headers

然后在settings文件中加上参数设置



# app配置
INSTALLED_APPS = [
    django.contrib.admin,
    django.contrib.auth,
    django.contrib.contenttypes,
    django.contrib.sessions,
    django.contrib.messages,
    django.contrib.staticfiles,
    corsheaders,
]

# 中间件配置:
MIDDLEWARE = [
‘django.middleware.security.SecurityMiddleware‘,
‘django.contrib.sessions.middleware.SessionMiddleware‘,
‘corsheaders.middleware.CorsMiddleware‘,
‘django.middleware.common.CommonMiddleware‘,
‘django.middleware.csrf.CsrfViewMiddleware‘,
‘django.contrib.auth.middleware.AuthenticationMiddleware‘,
‘django.contrib.messages.middleware.MessageMiddleware‘,
‘django.middleware.clickjacking.XFrameOptionsMiddleware‘,
]
# 然后在setting文件的空白处加上如下这些参数配置:
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = (
‘*‘
)
CORS_ALLOW_METHODS = (
‘DELETE‘,
‘GET‘,
‘OPTIONS‘,
‘PATCH‘,
‘POST‘,
‘PUT‘,
‘VIEW‘,
)

CORS_ALLOW_HEADERS = (
‘XMLHttpRequest‘,
‘X_FILENAME‘,
‘accept-encoding‘,
‘authorization‘,
‘content-type‘,
‘dnt‘,
‘origin‘,
‘user-agent‘,
‘x-csrftoken‘,
‘x-requested-with‘,
‘Pragma‘,
)

 

运行Django程序的时候如果报错,请检查pip的版本问题。

我是用的Django==2.1.7,python==3.6,然后pip3 install django-cors-headers

运行程序报错,显示:

"No module named corsheaders"

很显然我确实下载了模块,但是程序无法识别它,找了很多博客,后来在stark overflow上看到了解决方案,我用pip install django-cors-headers,然后命令行报错,让我把“--user”的potion加上,于是我用的pip install --user django-cors-headers

之后就可以用了,按照如上的参数在setting文件中配置好即可。

一开始很费解,在网上找到大量的博客都是一句话解决问题pip install即可,没有过多赘述,我明明都是已经pip过了,配置也是copy的,但是不起作用,后来太晚了就睡觉了,然后第二天起来换了一个角度,把上面这条简单的报错信息贴上research一下,看看有没有人遇到过类似的问题,然后才找到原因,是pip版本的问题,很容易就解决了。

遇到问题不可钻牛角尖,一定要多转换角度去思考,会有解决方案的。

以上是关于Django:django-cors-headers 报错no module named "corsheaders"的主要内容,如果未能解决你的问题,请参考以下文章

django-cors-headers 不适用于 DRF(Django Rest 框架)

Django-cors-headers 不工作

django-cors-headers

即使使用 django-cors-headers 也得到 304 响应

使用 Postman 时 django-cors-header 无法按预期工作

django-cors-headers 和 nginx 配置:预检响应缺少 CORS 标头