我开始使用Django的第一次,这也是我第一次涉足网络开发。我只是陷入了整个“服务静态媒体”的问题。花了一段时间查看所有文档和StackOverflow问题后,我想我理解它应该如何工作(即MEDIA_ROOT,MEDIA_URL,更新URL文件等)。
我的问题:
好了,这里是我不知道的部分。 Django应用程序应该是“可插入的”,即我可以将应用程序从一个项目移动到另一个项目。那么,这些应用程序应该如何捆绑静态媒体?
例如,假设我有一个“foo”应用程序,它具有加载一些css /图像文件的模板。我应该在哪里放置这些文件,以便在包含应用程序后自动获得服务?
我看到的唯一解决方案是,安装应用程序必须包括将其静态媒体复制到服务于该媒体的服务器上的某个位置的额外步骤。
这是接受的方式吗?它包括一个额外的步骤,但也许这是处理web-dev时的标准(我是新的,所以我不知道)。
另外,如果是这样,是否有一个标准的方法来收集我所有的静态媒体,以便知道我需要提供哪些服务? (也就是说,在应用程序中有一个名为“media”或文件夹的标准文件夹?)。
感谢,
从Django 1.3开始,这是现在正确的方法。 – 2012-04-07 08:20:02
请注意,https://github.com/jaddison/django-cachebuster/为Django 1.3提供了非常有用的{%static%}标记 – Eli 2012-07-30 15:27:55