我正在使用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项目的开发。
答案 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',
...
]
重新启动服务器,它必须正常工作。