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

django跨域使用python

pip install django-cors-headersdjango

而后在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的版本问题。session

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

运行程序报错,显示:cors

"No module named corsheaders"

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

以后就能够用了,按照如上的参数在setting文件中配置好便可。命令行

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

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