找到另一个带有目标路径的文件 - 其他文件在哪里?

时间:2016-02-23 07:26:15

标签: python django

在Django中运行manage.py collectstatic时,我会看到以下消息:

Found another file with the destination path 'admin/js/jquery.init.js'. 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.

我尝试运行find . -type l来搜索我的Django项目中的符号链接,但它没有发现任何内容。

如何确定具有相同目标路径的其他文件的位置?

3 个答案:

答案 0 :(得分:6)

与模板类似,在两个位置搜索静态文件:

  1. UIView
  2. 中列出的目录下
  3. 在应用程序本身的静态目录中。
  4. 在这种情况下,STATIC_DIRSdjango/contrib/admin/static提供了此文件。

答案 1 :(得分:2)

检查一下:https://github.com/django-compressor/django-compressor/issues/720

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    #'django.contrib.staticfiles.finders.AppDirectoriesFinder',    #causes verbose duplicate notifications in django 1.9
)

答案 2 :(得分:0)

Django在运行settings.py时遵守INSTALLED_APPS collectstatic中应用程序的顺序。

如果您有两个已安装的应用程序编写了相同的静态文件(例如django.contrib.admingrappelli),则Django collectstatic将为出现 first的应用编写静态文件。 / em>。当它点击第二个应用程序时,它将忽略其静态文件并输出您所看到的警告。

因此,您需要找出正在尝试写入相同静态文件的两个INSTALLED_APPS,并确定要使用哪个静态文件。如果您确定该应用在您的INSTALLED_APPS列表中显示为 first ,那么您可以放心地忽略第二个应用生成的警告。