This is my django project,有两个应用程序;投票和研究
这是我的静态文件设置。
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR,"study","static","HScard"),
)
STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")
我希望外壳程序中的“ python manage.py collectstatic”仅将静态文件从“ study / static / HSCard”中复制到“ staticfiles”(由于上述STATICFILES_DIRS)。
但是,“ collectstatic”在下面复制了意外的文件。
为什么将admin和poll中的文件复制到staticfiles?除了admin文件夹中的文件来自此处(一个示例):
Copying 'C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\admin\static\admin\js\vendor\xregexp\xregexp.min.js'
为什么'collectstatic'如此工作,并且如何按预期的方式修复它?
使用的django版本是2.0.7。 谢谢。
答案 0 :(得分:0)
问题是由于默认的Staticfiles Finders设置造成的:
STATICFILES_FINDERS = [
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]
AppDirectoriesFinder
将浏览INSTALLED_APPS
设置中列出的应用。如果有admin/static/
之类的文件(默认情况下包含在管理员中),那么collect_static
也将找到它们。您可以选择以下任一方式:
AppDirectoriesFinder
设置。然后Django只会收集您在STATICFILES_DIRS中明确提到的静态文件