【问题标题】:Django doesn't look for static files in my appDjango 不在我的应用程序中查找静态文件
【发布时间】:2014-04-22 07:37:30
【问题描述】:

我开发了一个具有一个静态 JS 文件的独立 Django 应用程序。在一些 安装中,Django 开发服务器找不到静态文件。该应用程序安装为带有pip的Python包,我可以在site-packages/appname/static/js/myfile.js找到JS文件

我已经安装了 Django 调试工具栏,当查看“静态”面板时,我看到了一个“静态文件应用程序”列表。我的应用程序未在此处列出。我如何告诉 Django 它也应该查看我的应用的静态文件夹?

我使用的是 Django 1.6.3,带有以下静态文件查找器:

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

django.contrib.staticfiles 应用已安装。

更新:使用manage.py collectstatic 时,不会复制应用程序中的文件。

【问题讨论】:

  • 你跑过collectstatic吗?
  • 我正在使用开发网络服务器。
  • 啊,刚刚看到了。您的 STATIC_ROOT、STATIC_URL 和 STATICFILES_STORAGE 设置是什么?我假设您的应用列在 INSTALLED_APPS..?
  • 是的。但它确实帮助我解决了问题。
  • 与全班分享 ;-)

标签: django django-staticfiles


【解决方案1】:

好吧,这很愚蠢。

相关应用以前是旧项目的一部分。我已将其更改为 不同 开发机器上的独立应用程序。当我将它打包为一个独立的应用程序时,我删除了另一台机器上的myproject/myapp 文件夹,并使用pip install 将其安装到项目的虚拟环境中。

然后我用这台开发机,做了git pullpip install。原来这个 * 不会删除 myproject/myapp 文件夹 - 它只是删除了 git 处理的所有文件。 .pyc 文件没有被删除,所以文件夹仍然存在,Django 在该文件夹中查找静态文件,而不是 site-packages 中的那个。

删除 myproject/myapp 修复了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 2020-12-14
    • 2016-04-13
    • 1970-01-01
    • 2020-06-14
    相关资源
    最近更新 更多