DRF跨域后端解决之django-cors-headers的使用

yipeiwu_com6年前Python基础

在使用django-rest-framework开发项目的时候我们总是避免不了跨域的问题,因为现在大多数的项目都是前后端分离,前后端项目部署在不同的web服务器上,因为我们是后端程序员,因此我要通过后端的程序实现跨域。当然如果前端框架是Vue的话,则可以代理服务实现跨域,我也就知道一点点,如果有兴趣,大家可以自行搜索哦。

DRF后端实现跨域我们使用一个第三方扩展——— djangocorsheaders

安装

pip install django-cors-headers

注册

INSTALLED_APPS = (
  'corsheaders',
)

添加中间件

MIDDLEWARE = [
  'corsheaders.middleware.CorsMiddleware', #最好添加至第一行
]

配置白名单

#单个配置
CORS_ORIGIN_WHITELIST =(
   ' 域名',
)
#正则配置:
CORS_ORIGIN_REGEX_WHITELIST =(r'^(https?://)?(\w+\.)?jim\.com $',)

或者直接允许所有主机跨域

CORS_ORIGIN_ALLOW_ALL = True 默认为False

一般情况下,我们配置这些就足够,当然最为一个出名的扩展,肯定做的很完美,更多的配置,请访问: https://github.com/ottoyiu/django-cors-headers/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中__init__.py文件的作用详解

__init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件。 通常__init__.py 文件为空,但是我...

python杀死一个线程的方法

最近在项目中遇到这一需求: 我需要一个函数工作,比如远程连接一个端口,远程读取文件等,但是我给的时间有限,比如,4秒钟如果你还没有读取完成或者连接成功,我就不等了,很可能对方已经宕机或者...

Python如何实现转换URL详解

Python如何实现转换URL详解

设计一个算法,将URL转换成5部分,分别是:schema、netloc、path、query_params、fragment。 问题 URL的中文名叫统一资源定位符,就是咱们常说的网址...

wtfPython—Python中一组有趣微妙的代码【收藏】

wtfPython是github上的一个项目,作者收集了一些奇妙的Python代码片段,这些代码的输出结果会和我们想象中的不太一样; 通过探寻产生这种结果的内部原因,可以让我们对Pyth...

Pycharm设置utf-8自动显示方法

如下所示: File->Setting->Editor->File and Code Templates->python script,右侧框框内输入: ...