python - Django 管理员不会加载某些静态文件

标签 python django static admin assets

我在几个 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/

相关文章:

java - 在 Java 的静态方法中调用非静态方法

java - 静态整数的 Switch 语句错误

python - 谷歌云端硬盘 SDK : How do you copy a file so the copy lives only in the root folder?

python - 如何在 uwsgi 中使用 nginx UWSGI_SETENV 获取 env_vars

python - 验证 django.contrib.comments 表单时如何访问请求对象?

python - Django 模型同步表

python - 导入错误 : Could not import settings 'health_tweets.settings' No module named health_tweets. 设置

python - 从字节码重组 .py 文件

python - Django-禁用确认密码

java - 静态类/常量字段层次结构 - 可以做到吗?