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 = TrueCORS_ORIGIN_ALLOW_ALL = TrueCORS_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"
原文地址:https://www.cnblogs.com/2012-dream/p/10529228.html
时间: 2024-11-04 01:26:14