python - 在 Django 开发期间提供静态媒体 : Why not MEDIA_ROOT?

标签 python django static-media

我读过 this guide关于在开发过程中使用 Django 提供静态媒体。

我注意到这里没有使用 MEDIA_URLMEDIA_ROOT。为什么?有什么区别?

我尝试用 MEDIA_URLMEDIA_ROOT 来做,结果很奇怪。

最佳答案

在生产情况下,您会希望从前端 Web 服务器(Apache、Nginx 等)提供媒体,以避免 Django/Python 进程的额外负载。 MEDIA_URL 和 MEDIA_ROOT 通常用于此目的。

运行内置的开发服务器,您需要在 url.py 文件中设置正确的 url - 我通常使用如下内容:

from django.conf import settings

urlpatterns += patterns('',
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
)

这会从您的设置文件中获取 MEDIA_ROOT,这意味着它适用于开发和直播。

关于python - 在 Django 开发期间提供静态媒体 : Why not MEDIA_ROOT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2237418/

相关文章:

python - 如何保存 Keras 的训练历史以进行交叉验证(循环)?

python - 在 Python 中规范化小概率

python - 用于水平边缘滚动(在 Linux 中)的 Tkinter 事件是什么?

Django 休息框架 : Disable field update after object is created

python - ElasticBeanstalk Django : Please supply ENGINE value

python - Django ORM 每个作者的书籍数量

flask - 在Flask中将默认网址更改为静态媒体

python - 从列表中查找需要多少个元素才能达到一定的覆盖率