我在几个 django 项目中遇到了一个奇怪的问题,我正在尝试解决它。由于某种原因,管理区域的所有静态文件都正确加载,包括 js、css 和图像,但侧导航栏的 2 个文件(与其他所有文件一起位于我的静态目录中)无法加载。这些文件是 nav_sidebar.css 和 nav_sidebar.js。
我已经找到了解决方法,并将这些内联添加到 admins base.html 模板中,并删除了这些文件的链接。这是可行的,但有点荒谬的是,它设法加载所有其他静态资源,但不能加载这些特定文件。我已正确设置静态根目录和目录,让 nginx 指向正确的静态目录,并完成收集静态并重新启动服务器。我能想到的一切,但都行不通。
考虑到这已经发生在 3 个连续项目上,我认为这是某种错误,而不是我这边的错误。
最佳答案
因此,我最终能够回答自己的问题,对于遇到此问题的其他人,这里是我采取的步骤。
对于管理静态文件,在运行之前收集静态文件将直接从 python(versionNumber)/site-packages/django/contrib/admin/static 所在的位置获取。除非您运行收集静态,或手动将它们复制并粘贴到静态文件目录中,否则这些管理文件不会在那里。
现在我确信这是任何 django 用户的基本知识,我什至这样做了,但错误仍然存在。我发现我将静态网址设置为:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
由于某种原因,django 仍然从 django 源所在的同一目录中获取管理文件。所以我只是将 url 路径和静态根更改为:
STATIC_URL = '/staticfiles/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
再次运行manage.pycollectstatic,修复了我的管理区域,现在一切正常。
关于python - Django 管理员不会加载某些静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65153865/