Django - MEDIA_ROOT and MEDIA_URL

14

你能否推荐一份好的文档,让我可以理解MEDIA_URL和MEDIA_ROOT?它们让我感到非常困惑。


请参见:https://dev59.com/pUzSa4cB1Zd3GeqPjhuK - PaoloVictor
1个回答

20

MEDIA_ROOT 是指文件系统中存储静态媒体文件的目录路径。

MEDIA_URL 是指使静态媒体文件通过HTTP访问的URL地址。

文档: http://docs.djangoproject.com/en/1.2/ref/settings/#media-root

主要思想是通过python+django提供服务成本较高。由于您的媒体文件是静态的,因此您无需支付这些成本,可以通过其他方式(如nginx或CDN)提供服务。但是,您仍然需要知道媒体文件在文件系统中的位置(例如用于文件上传),以及它的URL地址(例如用于放置在模板中)。相关设置旨在将所有这些联系在一起。


6
唯一需要补充的是,您可以使用 MEDIA_URL 来通过 URL 引用文件,使用 MEDIA_ROOT 来物理引用它们。例如,在 HTML 中显示图像 MEDIA_URLimages/myimage.png 将被转换为 http://myapp/media/images/myimage.png;打开图像进行调整大小 os.path.join(MEDIA_ROOT, 'images/myimage.png') 将被转换为 /path/to/myapp/media/images/myimage.png - Filip Dupanović
一个问题,我应该提交 MEDIA_ROOT 目录吗? - blessed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接