5

我有一个非常简单的问题,我无法找到答案。使用 Django 静态文件应用程序,我通过键入以下命令行调用静态收集例程:python manage.py collectstatic

我的问题是我有几个应用程序服务静态+一个包含用户上传文件的媒体目录。Django 将所有文件复制到静态目录,包括媒体文件!

我只是希望 Django我调用python manage.py collectstatic. 有人有想法吗?尝试了--ignore选项,但没有成功...

先感谢您。

4

2 回答 2

6

那是 django.contrib.staticfiles.finders.DefaultStorageFinder 的问题,尝试从 STATICFILES_FINDERS 中删除它。

于 2012-04-04T13:07:04.757 回答
0

那么,如果您使用,究竟什么不起作用--ignore

尽管真正的解决方案不是混合用户生成的内容和静态文件。

如果您将两种类型分开,您可以轻松地将静态文件置于版本控制之下,并且也不必在这方面处理排除。事实上,与媒体(用户生成)和静态文件的分离是静态文件背后的基本原理:

在以前的 Django 版本中,通常将静态资产与用户上传的文件一起放在 MEDIA_ROOT 中,并在 MEDIA_URL 处提供它们。引入 staticfiles 应用程序的部分目的是更容易将静态文件与用户上传的文件分开。

关于这个主题的文档非常全面:https ://docs.djangoproject.com/en/dev/howto/static-files/

于 2012-02-29T12:07:51.883 回答