Django跨域

2021-08-16  本文已影响0人  朱佩奇被占用

Created: August 10, 2021 7:22 PM
Date: August 16, 2021
Tags: Django

前端使用Vue,后端使用Django-restframwork,后端跑起来后发现会出现跨域问题。


462684-20190409105504849-908984486.png

django后端解决跨域方式:django-cors-headers

通过第三方包方式:https://github.com/ottoyiu/django-cors-headers

注意:第三方包对Django的版本有要求

462684-20190409110855516-741012430.png

1、安装django-cors-headers

pip install django-cors-headers

2、配置settings.py文件

a.在INSTALLED_APPS里添加“corsheaders”

INSTALLED_APPS = [
    ...
    'corsheaders',
    ...
 ]

b.在MIDDLEWARE_CLASSES添加配置:

MIDDLEWARE_CLASSES = (
    ...
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...
)

c.在sitting.py底部添加

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 = (
    'accept',
    'accept-encoding',
    'authorization',
    'content-type',
    'dnt',
    'origin',
    'user-agent',
    'x-csrftoken',
    'x-requested-with',
)
上一篇下一篇

猜你喜欢

热点阅读