我有一个非常简单的问题,我无法找到答案。使用Django staticfiles应用程序,我通过键入以下命令行调用静态收集例程:python manage.py collectstatic
。
我的问题是我有几个应用静态的应用程序+一个包含用户上传文件的媒体目录。 Django将所有文件复制到静态目录,包括媒体文件!
当我呼叫python manage.py collectstatic
时,我只是希望Django 不将用户上传的文件复制到静态目录。有没有人有想法?试过--ignore
选项但没有成功......
提前谢谢。
答案 0 :(得分:6)
这是django.contrib.staticfiles.finders.DefaultStorageFinder的问题,请尝试从STATICFILES_FINDERS中删除它。
答案 1 :(得分:0)
那么如果使用--ignore
,究竟什么不起作用?
虽然真正的解决方案不是混合用户生成的内容和静态文件。
如果您将两种类型分开,则可以轻松地将静态文件置于版本控制之下,并且不必在此前面处理排除。事实上,与媒体(用户生成的)和静态文件的分离是静态文件背后的基本原理:
在以前的Django版本中,放置静态资产很常见 在MEDIA_ROOT中以及用户上传的文件,并在以下位置为他们提供服务 MEDIA_URL。引入staticfiles应用程序的部分目的是 使静态文件更容易与用户上传分开 文件。
有关此主题的文档非常全面:https://docs.djangoproject.com/en/dev/howto/static-files/