django解决跨域问题

近期的项目要用python的django+mysql实现,以前从来没接触过python,这次项目实践算是对自己的一个挑战和提升。

经过一番猛如虎的操作,python环境,django和mysql也都安装好了(其中的大坑以后再说),这次记录一下解决跨域的问题,因为对于初学者的我来说是非常容易遗忘的。

django中解决跨域使用django-cors-headers模块来实现

解决跨域前显示的内容

django解决跨域问题_第1张图片

基本可以分为4部:

1,安装 pip install django-cors-headers

2,注册到setting中的INSTALL_APPS中(名称为'corsheader')

3,在setting的中间件集合中添加'corsheaders.middleware.CorsMiddleware',特别注意要将'django.middleware.csrf.CsrfViewMiddleware'注释掉,网上说这个中间件采用的一种安全加密方法导致的跨域请示失败,目前尚不清楚删除后会有什么不良后果

4,添加cors运行策略(配置)

CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
#单独列出白名单地址可以通过以下方法
# CORS_ORIGIN_WHITELIST = ('http://192.168.1.105:7123')

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',
)

经过以上操作,可以访问了

django解决跨域问题_第2张图片

 

你可能感兴趣的:(python,django,ajax跨域问题)