Django前后端分离解决跨域问题

2018-05-10  本文已影响0人  天夭夭

Django项目的想采取前段分离,在使用Vue.js请求接口时总是返回“No 'Access-Control-Allow-Origin' header is present on the requested” 。解决办法是:

1、pip install django-cors-header

2、在Django的settiing.py文件中添加如下内容:

INSTALLED_APPS = [

    ...

    'corsheaders',

]

MIDDLEWARE = [

'django.middleware.security.SecurityMiddleware',

    ...

    'corsheaders.middleware.CorsMiddleware',

    ...

]

#备注: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',

    'Pragma',

)

3、重新请求接口即可。

上一篇下一篇

猜你喜欢

热点阅读