django 在模板中使用 MEDIA URL
Posted
技术标签:
【中文标题】django 在模板中使用 MEDIA URL【英文标题】:django using MEDIA URL in a template 【发布时间】:2015-07-12 18:44:08 【问题描述】:我正在尝试访问用户上传的文件。
我有以下设置:
MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'project/media/')
MEDIA_URL = '/project/media/'
文件是:
path = models.FileField(upload_to="myApp")
image = models.ImageField(upload_to="myApp/logos", null=True, blank=True)
在模板中,我尝试通过以下方式访问它:
MEDIA_URLfile.path
但它不起作用..
我做错了什么?
【问题讨论】:
【参考方案1】:file.path
返回一个代表文件的对象,你想要的是file.path.url
,它负责添加MEDIA_URL
。
【讨论】:
我将其更改为 file.path.url,它为我提供了文件的正确路径(相对于项目目录),但我仍然无法下载/查看文件。 . @brad 您需要使用 HTTP 服务器为MEDIA_ROOT
提供服务,请参阅 this 以了解如何在开发中执行此操作。
@brad 是的file.path.url
不是file.url
我犯了一个错误
它仍然不起作用..我真的不明白我做错了什么..它下载文件但它的内容是当前页面的html
我需要添加以下内容: url(r'^project/media(?P以上是关于django 在模板中使用 MEDIA URL的主要内容,如果未能解决你的问题,请参考以下文章