django rest framework api和angular 2整合

时间:2017-03-26 07:12:02

标签: django angular django-rest-framework

我正在使用Django Rest Framework开发后端API,使用Angular 2开发前端.django服务器在localhost:8000上运行,角度服务器在localhost:3000上运行。当我尝试使用角度2访问API时,它给出了以下错误:

  

customerregister:1 XMLHttpRequest无法加载http://127.0.0.1:8000/user/signup。对预检请求的响应   没有通过访问控制检查:没有'Access-Control-Allow-Origin'   标头出现在请求的资源上。起源   因此,“http://localhost:3000”不允许访问。

我想问的是如何整合Django Rest API和angular 2项目的开发。

1 个答案:

答案 0 :(得分:2)

首先安装:https://github.com/ottoyiu/django-cors-headers

应用您的应用:

INSTALLED_APPS = (
    ...
    'corsheaders',
    ...
)

然后更改中间件的设置:

MIDDLEWARE = [  # Or MIDDLEWARE_CLASSES on Django < 1.10
    ...
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...
]

重新启动服务器,它必须正常工作。