我是 django 新手。我读过所有部署在生产环境中的 django 项目都应该通过 web 服务器(如 apache)提供媒体文件(上传)。我的问题是 -为什么会这样?
有很多 PHP 框架 - 例如。symfony 1 和 2 - 不遵守规则。一旦您通过 Web 服务器使您的应用程序可以访问,您就不必根据您部署的环境进行任何更改。仅在DOCUMENT_ROOT
Web 服务器上进行了配置,并且此目录中的某处是上传目录 - 仅此而已。您可以确定没有人会访问 PHP、sql 文件等——这要归功于适当的框架架构和文档根目录。为什么它在 django 中有所不同?
编辑:此外,为不同的环境准备不同的代码(例如this)是一种非常糟糕的方法,因为您不能使用完全相同的代码在不同的环境中部署项目(并且链接中的代码仅对调试环境有意义.