在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项目中的符号链接,但它没有发现任何内容。
如何确定具有相同目标路径的其他文件的位置?
答案 0 :(得分:6)
与模板类似,在两个位置搜索静态文件:
UIView
在这种情况下,STATIC_DIRS
和django/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.admin
和grappelli
),则Django collectstatic
将为出现 first的应用编写静态文件。 / em>。当它点击第二个应用程序时,它将忽略其静态文件并输出您所看到的警告。
因此,您需要找出正在尝试写入相同静态文件的两个INSTALLED_APPS
,并确定要使用哪个静态文件。如果您确定该应用在您的INSTALLED_APPS
列表中显示为 first ,那么您可以放心地忽略第二个应用生成的警告。