Django - MEDIA_ROOT 和 MEDIA_URL

Posted

技术标签:

【中文标题】Django - MEDIA_ROOT 和 MEDIA_URL【英文标题】:Django - MEDIA_ROOT and MEDIA_URL 【发布时间】:2011-06-16 17:57:10 【问题描述】:

能否请您推荐我可以理解 MEDIA_URL 和 MEDIA_ROOT 的好文档?这真的让我很困惑。

【问题讨论】:

见:***.com/questions/2303254/… 【参考方案1】:

MEDIA_ROOT 是文件系统上的路径到包含静态媒体的目录。

MEDIA_URL 是使静态媒体可通过 HTTP 访问的 URL。

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

主要思想是通过 python+django 提供服务是昂贵的。由于您的媒体是静态的,因此您无需支付该费用,因此您可以以不同的方式提供服务(例如,直接通过 nginx 或通过 CDN)。但是,您仍然需要知道媒体在文件系统中的位置(例如,用于文件上传)以及 URL 是什么(例如,放入模板)。这些设置将所有这些联系在一起。

【讨论】:

唯一需要补充的是,然后您可以使用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 一个问题,我应该提交MEDIA_ROOT目录

以上是关于Django - MEDIA_ROOT 和 MEDIA_URL的主要内容,如果未能解决你的问题,请参考以下文章

Django MEDIA_URL 和 MEDIA_ROOT

在 Django 开发期间提供静态媒体:为啥不 MEDIA_ROOT?

Django upload_to 在 MEDIA_ROOT 之外

django media_root 不工作

在 django settings.py 中更新 media_root 时遇到问题

Django MEDIA_URL 附加完整的 MEDIA_ROOT