为什么建议使用不同的服务来托管 django 的静态文件(如 nginx 或 apache)?

Why is it suggested to use a different service to host static files (like nginx or apache) for django?

我在 Whosebug 上看到很多关于部署期间在 django 中处理静态文件的问题。我看到很多答案都是这样说的——“关闭调试后,Django 将不再为你处理静态文件——你的生产网络服务器(Apache 或其他东西)应该会处理这个问题。” 为什么我们不能使用托管django项目的服务器来托管静态文件?

静态文件不需要任何类型的逻辑或处理。通过 Web 服务器直接从磁盘直接将它们交付给最终用户比 运行 通过 Django 的中间层更有效。中间层(例如 gunicorn、uwsgi 或 mod_wsgi)允许处理视图之类的东西,并允许 ORM 连接数据库。由于静态文件需要 none 个,绕过它是最有效的。最终用户上传的媒体文件也是如此。祝你好运!