gpt4 book ai didi

python - 为什么不在生产环境中使用 Django 提供静态文件?

转载 作者:太空宇宙 更新时间:2023-11-03 15:00:02 26 4
gpt4 key购买 nike

我遇到了以下 settings.py 示例:

if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

并被告知:

The static() helper function is suitable for development but not for production use. Never serve your static files with Django in a production environment.

谁能解释为什么以及如何更好地使用它?

编辑:

我可以在 Apache 中使用 static() 吗?

最佳答案

Django 提供静态文件的速度和效率都不是很高。引用 Django 文档的话,“这种方法非常低效并且可能不安全,因此不适合生产。”最好使用专为提供静态内容而设计的工具。在 deploying static files 上的 Django 文档中有关于如何设置静态服务器的大量说明。 .

基本思想是不要让 Django 不必要地参与静态文件的服务。让您的生产服务器(根据您的评论听起来像是 apache)直接提供静态文件。以下是编辑 httpd.conf 文件以使 apache 为静态文件提供服务的说明 https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/modwsgi/#serving-files . django中的static()函数根本不应该涉及。确保使用 django 中的 collectstatic 管理命令将所有静态文件复制到 STATIC_ROOT,以便 apache 可以找到它们。

关于python - 为什么不在生产环境中使用 Django 提供静态文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38860601/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com