使用 Postman 时 django-cors-header 无法按预期工作

Posted

技术标签:

【中文标题】使用 Postman 时 django-cors-header 无法按预期工作【英文标题】:django-cors-header not working as expected when using Postman 【发布时间】:2019-08-18 07:13:19 【问题描述】:

我试图在我的 React Web 应用程序中使用我的 DRF API 与 Axios,但我的 CORS 策略被阻止。

我已经使用 POSTMAN 检查了标头,似乎 django-cors-header 实际上并未嵌入 Access-Control-Allow-Origin: *

这是我来自 Django 的 settings.py:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'trvl',
    'rest_framework',
    'coreapi',
    'django_filters',
    'corsheaders',
]

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
]

CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = False

这就是我从邮递员那里得到的

我该如何解决这个问题,以便每个回复都有Access-Control-Allow-Origin : *

【问题讨论】:

【参考方案1】:

我的情况和你一模一样。相同的前端和后端。

除了您列出的所有内容之外,我还可以通过将其添加到我的 settings.py 来解决我的问题。

CORS_REPLACE_HTTPS_REFERER = True

【讨论】:

以上是关于使用 Postman 时 django-cors-header 无法按预期工作的主要内容,如果未能解决你的问题,请参考以下文章

使用 Passport 授权时为 API 测试设置 Postman

使用 POSTMAN 时不会出现 CORS 问题

postman使用方式

测试接口时使用PostMan怎么设置全局变量?

postman使用--环境变量

使用postman发送post数据时遇到的问题