You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose启动时Django静态文件路径重复警告原因排查

Django静态文件重复路径警告原因分析

问题现象

执行docker-compose up启动Django项目时,收到如下警告:

Found another file with the destination path 'admin/js/vendor/jquery/LICENSE.txt'. It will be ignored since only the first encountered file is collected. If this is not what you want, make sure every static file has a unique path.
Found another file with the destination path 'admin/img/LICENSE'. It will be ignored since only the first encountered file is collected. If this is not what you want, make sure every static file has a unique path.

执行python manage.py findstatic命令,发现存在大量路径重复的静态文件,例如:

C:\Users\irina\app-backend\django_env\Lib\site-packages\adminlte3_theme\static\admin\js\core.js
C:\Users\irina\app-backend\django_env\Lib\site-packages\django\contrib\admin\static\admin\js\core.js

项目相关配置

INSTALLED_APPS 配置

INSTALLED_APPS = [
    "adminlte3",
    "adminlte3_theme",
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "rest_framework",
    "corsheaders",
    "django_extensions",
    "drf_standardized_errors",
    "user",
    "celery",
]

静态文件配置

PROJECT_ROOT = os.getcwd()

STATIC_URL = "/static/"
STATIC_ROOT = os.path.join(BASE_DIR, "static")

警告产生的原因

  • 静态文件路径冲突:adminlte3_theme第三方主题包与Django原生的django.contrib.admin应用,在各自的static/admin/目录下存放了大量同名静态文件(如core.js、各类LICENSE文件),导致相对路径完全重复。
  • Django静态文件收集机制限制:当docker-compose up过程中触发collectstatic命令时,Django会遍历所有INSTALLED_APPS中的静态文件目录,将文件复制到STATIC_ROOT指定目录。若多个应用存在相同相对路径的文件,Django仅保留第一个被遍历到的文件,后续同名文件会被忽略,同时抛出该警告。
  • 应用加载顺序的影响:由于adminlte3_theme在INSTALLED_APPS中排在django.contrib.admin之前,主题包的静态文件会被优先收集,原生admin的同名文件则会被忽略。

内容的提问来源于stack exchange,提问作者Iren E

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 17:11:15