【发布时间】:2015-12-24 15:34:50
【问题描述】:
在阅读了大量文档之后,我仍然没有很好地了解究竟什么是静态文件与用户上传的文件......或者静态文件究竟是什么。
1.静态文件
Django describes 静态文件,例如“图像、javascript、css”。好的,有道理。但是所有那些 .py 文件和 .html 模板文件等......它们不是静态的?当网站运行时,它们不会“改变”。究竟什么是静态文件? “提供静态文件”是什么意思?这与“提供”“views.py”文件或“home.html”文件有什么不同?
除此之外,为什么我还需要“collectstatic”?为什么我所有的静态文件都需要放在一个地方?我想如果您使用单独的网络服务器来“服务”它们,那是有道理的......仍然,不确定这到底意味着什么。
另外,无论如何,“collectstatic”去哪里找到所有假定的静态文件?它是否会遍历我的所有代码并查看我在哪里访问图像/javascript 文件?
2。用户上传的文件
假设我只是从表面上看这个静态的东西,如果用户上传图片会发生什么?我是否需要在后台运行的程序不断运行“collectstatic”?
Django describes 媒体文件作为管理用户上传内容的一种方式。老实说,我还没有尝试过(现在会这样做),但这仍然代表了一个问题:如果将所有“静态”文件放在一个地方如此重要,为什么突然可以不为用户这样做 -上传的文件?
这个“MEDIA_ROOT”目录中的文件不是由“collectstatic”收集的吗?如果我只是把我所有的图片/javascript/css 放到这个媒体文件夹中呢?然后什么都没有收集?这有什么问题吗?
感谢任何人对此提出的任何见解。
【问题讨论】:
标签: django static collectstatic