V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
piaochen0
V2EX  ›  Django

django admin 部分自带的 css 文件 collectstatic,生成的文件大小为 0?

  •  
  •   piaochen0 · 2022-10-11 16:56:58 +08:00 · 1543 次点击
    这是一个创建于 784 天前的主题,其中的信息可能已经有所发展或是发生改变。
    项目用的 django 2.1.5 ,已经稳定运行了两三年了。后台管理用的自带的 admin 。

    但是这两天一个偶然机会突然发现,在我自己电脑开发环境调试模式下,访问 admin 后台,部分 admin 自带的 css 文件访问返回 200 ,但是大小为 0 。
    清空浏览器缓存,更换浏览器后仍然如此。

    到生产服务器上看,collectstatic 完成后,static/admin/css 目录下,有几个 css 文件,大小也为 0 ,只有两三个文件大小正常。

    具体情况如图:
    ![]( https://files.catbox.moe/m9e5v2.png)

    服务器上 static 目录下这部分大小为 0 的文件,在我自己开发环境用浏览器访问大小为 0 ,大小非 0 的文件在开发环境也都能正常访问。
    查看本机和服务端 site-package 中的 django 目录,这些 css 文件都是有内容的。

    目前发现 js 目录有一个 related-widget-wrapper.js 文件大小为 0 (这个文件在 lib 中 django 同级目录下没发现),其他没发现异常。
    django2.1.5 我们这边几个项目在用,目前发现有的项目有这个问题,有的正常。 对比了下 settings 设置,也没发现什么特殊的地方。admin 看上样式也都正常。

    这个是怎么回事?有什么解决思路吗?
    麻烦各位指教。
    piaochen0
        1
    piaochen0  
    OP
       2022-11-01 16:00:56 +08:00
    问题解决了,记录下解决过程,提供给其他小伙伴参考:

    settings.py 中 INSTALLED_APPS 的问题,collectstatic 时,同样的静态文件,假如在前面的 app 中已经存在,后面 app 中的文件就不会被 collect 了。
    我试图把 django.contrib.admin 放在 INSTALLED_APPS 中第二个,第一个是 simpleui,发现立马就正常了。
    样式正确,之前没有内容的 css 文件也有内容了。
    继续排查原因,发现 INSTALLED_APPS 中,有一个其他同事增加的 jet ,虽然已经不用了,但是 INSTALLED_APPS 中没有删除。并且放在了位置的第一个。
    jet 包中 static/admin 中,有和自带 admin 同名的文件,大小是 0 。

    问题解决
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1634 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:51 · PVG 00:51 · LAX 08:51 · JFK 11:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.