为什么不应该在 Django 的生产级别使用 MEDIA_ROOT 和 MEDIA_URL?
Why should you not use the MEDIA_ROOT and MEDIA_URL in the production level of Django?
我正在尝试找到我发布的问题名称的答案,但我似乎找不到答案。
我一直在看 Django 的几个教程,他们一直告诉我当你处于生产级别时,你不应该使用 MEDIA_URL 和 MEDIA_ROOT 类型的约定姜戈。
但这是为什么呢?有具体原因吗?
尤其是那些变量没有任何问题。事实上,您永远不想在生产环境中使用 Django 的开发服务器提供静态文件,这既是因为性能问题,也是因为安全问题。
开发服务器非常有用,因为它允许您在开发期间只使用 Django 来提供静态文件和媒体文件,但无论如何它都不是生产 Web 服务器(例如 Nginx)。
文档一如既往地有用:https://docs.djangoproject.com/en/3.1/howto/static-files/#serving-uploaded-files-in-development
适用于静态文件的内容也适用于媒体文件。关于静态文件部署的策略,there's a whole page on the docs too.
一些包,如 Whitenoise,在生产中处理静态文件时有帮助,但 Whitenoise 不能用于媒体 (user-uploaded) 静态文件(因为它大致在开始时发现静态文件)。
我正在尝试找到我发布的问题名称的答案,但我似乎找不到答案。
我一直在看 Django 的几个教程,他们一直告诉我当你处于生产级别时,你不应该使用 MEDIA_URL 和 MEDIA_ROOT 类型的约定姜戈。
但这是为什么呢?有具体原因吗?
尤其是那些变量没有任何问题。事实上,您永远不想在生产环境中使用 Django 的开发服务器提供静态文件,这既是因为性能问题,也是因为安全问题。
开发服务器非常有用,因为它允许您在开发期间只使用 Django 来提供静态文件和媒体文件,但无论如何它都不是生产 Web 服务器(例如 Nginx)。
文档一如既往地有用:https://docs.djangoproject.com/en/3.1/howto/static-files/#serving-uploaded-files-in-development
适用于静态文件的内容也适用于媒体文件。关于静态文件部署的策略,there's a whole page on the docs too.
一些包,如 Whitenoise,在生产中处理静态文件时有帮助,但 Whitenoise 不能用于媒体 (user-uploaded) 静态文件(因为它大致在开始时发现静态文件)。