现在前后端分离开发基本上都会跨域(前后端使用的域名不同).
这是浏览器的一种安装机制(有些人说为什么我用postman能行,你就不行<0 <0).
解决跨域问其实都是在header中设置一些信息,一般都有现成的解决方案.
可以在nginx上配置,但是我一般都是在程序中直接设置(能自己解决就自己解决不好吗?).
使用django一般就是安装django-cors-headers来解决跨域问题.
pip install django-cors-headers
pip freeze > requirements.txt
rurality/settings.py
rurality/settings.py:
安装了django-cors-headers后,就是按照文档配置我们自己的信息即可.
from corsheaders.defaults import default_headers
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_HEADERS = list(default_headers) + [
'token',
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
...
]
这些信息看文档里面都有描述.
在中间件中加上,同时把我们之前定义的token名称设置上.