浅谈django rest jwt vue 跨域问题


Posted in Python onOctober 26, 2018

django rest framework 使用 router 注册url时,访问接口 包302错误 可能是因为请求url 写法有问题,

如请求 /api/login/ 报302 ,需要去掉后面的反斜杠,正确写法 /api/login 请求跨域:

跨域:

简单来说就是 A 网站的 javascript 代码试图访问 B 网站,包括提交内容和获取内容。这显然是不安全的。为此,浏览器的鼻祖:网景(Netscape)公司提出了优秀的解决方案:著名的浏览器同源策略。现在所有支持JavaScript的浏览器都会使用这个策略。

同源:

域名、协议、端口均相同的网站即为同源。

流程:

当一个浏览器的两个Tab页分别打开百度和谷歌页面时,百度发起一个脚本执行,此时浏览器会检查该脚本属于哪个页面。即检查是否同源。只有和百度同源的脚本才会被执行。若非同源,在请求数据时,浏览器会在控制台报一个异常。提示拒绝访问。

解决方法:

安装django-cors-headers

pip install django-cors-headers

settings.py配置

INSTALLED_APPS = [

  ...

  "corsheaders",

...

]

 

MIDDLEWARE_CLASSES = (

  ...

"corsheaders.middleware.CorsMiddleware",

"django.middleware.common.CommonMiddleware", # 注意顺序

...

)

# 跨域增加忽略

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",

)

解决

通过以上配置,即可完美解决django跨域请求处理。

需要注意的就是cors - headers的中间件CorsMiddleware在注册时必须放在django - common中间件的前一个。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现字典(dict)和字符串(string)的相互转换方法
Mar 01 Python
python实现决策树、随机森林的简单原理
Mar 26 Python
python3使用smtplib实现发送邮件功能
May 22 Python
python验证码识别教程之滑动验证码
Jun 04 Python
django 将model转换为字典的方法示例
Oct 16 Python
使用python根据端口号关闭进程的方法
Nov 06 Python
Python 中Django验证码功能的实现代码
Jun 20 Python
使用Python的turtle模块画国旗
Sep 24 Python
python实现对列表中的元素进行倒序打印
Nov 23 Python
Python实现小黑屋游戏的完整实例
Jan 06 Python
python 通过使用Yolact训练数据集
Apr 06 Python
pytorch常用数据类型所占字节数对照表一览
May 17 Python
Python os.rename() 重命名目录和文件的示例
Oct 25 #Python
python实现旋转和水平翻转的方法
Oct 25 #Python
使用Python实现从各个子文件夹中复制指定文件的方法
Oct 25 #Python
python 实现对文件夹中的图像连续重命名方法
Oct 25 #Python
python微信公众号之关注公众号自动回复
Oct 25 #Python
python 文件查找及内容匹配方法
Oct 25 #Python
利用python循环创建多个文件的方法
Oct 25 #Python
You might like
饭制《星际争霸》Mod:优化游戏机制 增加新单位
2017/07/02 星际争霸
剧场版动画《PSYCHO-PASS 3 FIRST INSPECTOR》3月27日日本上映!
2020/03/06 日漫
使用iframe window的scroll方法控制iframe页面滚动
2014/03/05 Javascript
javascript自定义函数参数传递为字符串格式
2014/07/29 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
2015/12/03 Javascript
基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
2016/02/22 Javascript
Bootstrap 3 按钮标签实例代码
2017/02/21 Javascript
JavaScript中双符号的运算详解
2017/03/12 Javascript
bootstrap table表格使用方法详解
2017/04/26 Javascript
js数组实现权重概率分配
2017/09/12 Javascript
vue2.0与bootstrap3实现列表分页效果
2017/11/28 Javascript
JavaScript中var的重要性实例分析
2019/07/09 Javascript
Nuxt.js实战和配置详解
2019/08/05 Javascript
[04:26]DOTA2上海特锦赛小组赛第二日 TOP10精彩集锦
2016/02/27 DOTA
python中map、any、all函数用法分析
2015/04/21 Python
简单谈谈Python流程控制语句
2016/12/04 Python
Python正则表达式完全指南
2017/05/25 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
Python button选取本地图片并显示的实例
2019/06/13 Python
python实现一行输入多个值和一行输出多个值的例子
2019/07/16 Python
Python脚本导出为exe程序的方法
2020/03/25 Python
详解tensorflow之过拟合问题实战
2020/11/01 Python
eBay爱尔兰站:eBay.ie
2019/08/09 全球购物
介绍一下OSI七层模型
2012/07/03 面试题
数控专业大学生的自我鉴定
2013/11/13 职场文书
面试求职的个人自我评价
2013/11/16 职场文书
环卫处个人工作总结
2015/03/04 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
入党介绍人意见范文
2015/06/01 职场文书
关于教师节的广播稿
2015/08/19 职场文书
初中语文教师研修日志
2015/11/13 职场文书
四十九个javascript小知识实用技巧
2021/11/20 Javascript
Golang 链表的学习和使用
2022/04/19 Golang