【发布时间】:2026-01-19 04:10:01
【问题描述】:
如何在我的 django cors 响应标头中添加“x-total-count”?
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'corsheaders',
'rest_framework',
'languages'
]
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',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
CORS_ALLOW_HEADERS = [
'x-total-count',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
]
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOW_METHODS = [
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
]
。 . .
这就是我的 setting.py 的样子
这是错误的样子:
警告:缺少键的翻译:“X-Total-Count 标头是 HTTP 响应中缺少。 jsonServer 数据提供者期望 包含此标头的资源列表的响应 构建分页的结果总数。如果您正在使用 CORS,您是否在 Access-Control-Expose- 中声明了 X-Total-Count- 标头标头"
即使我查看了许多相关问题,我也无法解决这个问题。 django cors-headers 文档不包含如何添加“x-total-count”的指南
【问题讨论】:
-
您的应用程序是否在代理/防火墙后面运行?他们倾向于过滤标题并且只允许某些标题信息。你能验证 django 没有提供标头吗?
-
前端和后端都在本地主机上运行,因此没有代理/防火墙。我在获取服务器请求时得到的响应标头如下所示:Access-Control-Allow-Origin: * Content-Length: 0 Content-Type: text/html; charset=utf-8 日期:2019 年 8 月 6 日星期二 10:37:43 GMT 位置:/languages/?_end=10&_order=DESC&_sort=id&_start=0 服务器:WSGIServer/0.2 CPython/3.6.5 变化:来源
-
抱歉不知道那个包,但是检查github.com/ottoyiu/django-cors-headers/blob/…好像你也必须设置
CORS_EXPOSE_HEADERS。 -
这就是我所做的。还是一样的错误..
-
您的 API 是返回标头
X-Total-Count还是使用Content-Range?
标签: django react-admin django-cors-headers