IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> django-cors-headers实现跨域的方法总结 -> 正文阅读

[Python知识库]django-cors-headers实现跨域的方法总结

django-cors-headers实现跨域的方法总结

在setting.py中配置

INSTALLED_APPS = [

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'django_cas_ng',

'DjangoUeditor',

'corsheaders',

]

MIDDLEWARE_CLASSES = [

'corsheaders.middleware.CorsMiddleware', #这个放到第一位

'django.middleware.security.SecurityMiddleware',

'django.contrib.sessions.middleware.SessionMiddleware',

'django.middleware.common.CommonMiddleware',

'django.middleware.csrf.CsrfViewMiddleware',

"corsheaders.middleware.CorsPostCsrfMiddleware",

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

'django.middleware.clickjacking.XFrameOptionsMiddleware',

'django_cas_ng.middleware.CASMiddleware',

]

settings.py中添加:

CORS_ALLOWED_ORIGINS = [

"http://xxxxxxx" , #发起请求的URL要求添加端口和http

]

注意:

MIDDLEWARE_CLASSES = []

和

MIDDLEWARE= []

Django中的settings.py设置是MIDDL

EWARE,而这需要添加在MIDDLEWARE_CLASSES ,否则django-cors-headers的配置就不生效!所以始终都无法实现跨域,后来查资料才发现,修改为:

MIDDLEWARE_CLASSES = [

'corsheaders.middleware.CorsMiddleware', #这个放到第一位

'django.middleware.security.SecurityMiddleware',

'django.contrib.sessions.middleware.SessionMiddleware',

'django.middleware.common.CommonMiddleware',

'django.middleware.csrf.CsrfViewMiddleware',

"corsheaders.middleware.CorsPostCsrfMiddleware",

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

'django.middleware.clickjacking.XFrameOptionsMiddleware',

'django_cas_ng.middleware.CASMiddleware',

]

MIDDLEWARE= [

'corsheaders.middleware.CorsMiddleware', #这个放到第一位

'django.middleware.security.SecurityMiddleware',

'django.contrib.sessions.middleware.SessionMiddleware',

'django.middleware.common.CommonMiddleware',

'django.middleware.csrf.CsrfViewMiddleware',

"corsheaders.middleware.CorsPostCsrfMiddleware",

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

'django.middleware.clickjacking.XFrameOptionsMiddleware',

'django_cas_ng.middleware.CASMiddleware',

]

实现跨域成功:

注意:MIDDLEWARE也必须要添加,否则报错:'WSGIRequest' object has no attribute 'session',session无法获取!这是第二天登录后台才发现这个问题,记录之!

settings.py配置文件总结:

一共设置4处:

INSTALLED_APPS、MIDDLEWARE_CLASSES(注意配置项尽可能放在最前)、CORS_ALLOWED_ORIGINS、CSRF_TRUSTED_ORIGINS分别添加白名单,注意URL的格式。

启用此功能corsheaders.middleware.CorsPostCsrfMiddleware后django.middleware.csrf.CsrfViewMiddleware,还应该在之后 添加,MIDDLEWARE_CLASSES以撤消Referer替换.

如果出现下面问题

ModuleNotFoundError: No module named 'corsheaders'

运行Django项目的时候出现了这个问题,这个问题是Django跨域问题,安装django-cors-headers就可以解决这个跨域的问题。

pip install django-cors-headers

但是如果仍然有问题,那就是你的那个python Django的环境有问题了。

这个时候你需要去仔细地检查自己的python环境

或者下面的原因

应用是否在开发环境中进行注册?

INSTALLED_APPS = (
    ...
    'corsheaders',  # 注意:如果应用不是在最后一行,注册完一定不要忘记加上逗号噢,不然是会报错的
    ...
	)
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:09:46  更:2022-04-06 23:10:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:56:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码