猿问

跨源访问问题 - django 2.1.7

我已经经历了从字面上都这么环节消失了,重新安装Django和Django的CORS报头,跟着这给T,但我们得到


不允许飞行前错误交叉原点


Django 2.1.7 版


settings.py 的相关部分


INSTALLED_APPS = [

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    'corsheaders',

    'uploads.core',

]


MIDDLEWARE = [

    'django.middleware.security.SecurityMiddleware',

    'django.contrib.sessions.middleware.SessionMiddleware',

    'corsheaders.middleware.CorsMiddleware',

    'django.middleware.common.CommonMiddleware',

    'corsheaders.middleware.CorsPostCsrfMiddleware',

    'django.middleware.csrf.CsrfViewMiddleware',

    'django.contrib.auth.middleware.AuthenticationMiddleware',

    'django.contrib.messages.middleware.MessageMiddleware',

    'django.middleware.clickjacking.XFrameOptionsMiddleware',

]

CORS_ORIGIN_ALLOW_ALL = True


拉丁的传说
浏览 152回答 2
2回答

智慧大石

CorsMiddleware 应该放在尽可能高的位置,尤其是在任何可以生成响应的中间件之前,例如 Django'sCommonMiddleware或 Whitenoise's WhiteNoiseMiddleware。如果之前没有,它将无法将 CORS 标头添加到这些响应中。MIDDLEWARE = [&nbsp; &nbsp; 'corsheaders.middleware.CorsMiddleware',&nbsp; &nbsp; &nbsp; &nbsp; # <-- should be at the top&nbsp; &nbsp; 'django.middleware.security.SecurityMiddleware',&nbsp; &nbsp; 'django.contrib.sessions.middleware.SessionMiddleware',&nbsp; &nbsp; 'django.middleware.common.CommonMiddleware',&nbsp; &nbsp; 'corsheaders.middleware.CorsPostCsrfMiddleware',&nbsp; &nbsp; 'django.middleware.csrf.CsrfViewMiddleware',&nbsp; &nbsp; 'django.contrib.auth.middleware.AuthenticationMiddleware',&nbsp; &nbsp; 'django.contrib.messages.middleware.MessageMiddleware',&nbsp; &nbsp; 'django.middleware.clickjacking.XFrameOptionsMiddleware',]

12345678_0001

这是一个问题,因为给定的 Django 包适用于 Djangov2.2> 这里您使用的是 2.1,因此它不支持它。您需要手动从 HttpResponse 传递标头
随时随地看视频慕课网APP

相关分类

Python
我要回答