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

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、重新请求接口即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容