【发布时间】:2018-10-16 17:35:47
【问题描述】:
我想在我的模板中为每个对象显示uploaded picture。我遇到了一个问题,因为当我单击 picture url 时,media 路径出现错误。
我的模型中有:
class Publication(models.Model):
...
cover = models.ImageField(upload_to='media/', verbose_name=_('cover page'))
然后,我在我的设置部分:
MEDIA_URL = 'media/'
MEDIA_ROOT = BASE_DIR + '/myapp/'
现在,在我的模板文件中,我这样显示图片:
{% if item.cover %}
<td>
<a href="{{item.cover.url}}" target="_blank">
<img class="glyphicon glyphicon-home" src="{{item.cover.url}}" alt="{{item.cover}}">
</a>
</td>
{% else %}
<td></td>
{% endif %}
模板页面地址为:http://localhost:8000/crud/publication/list/
当我点击我的图片链接时,我得到:http://localhost:8000/crud/publication/list/media/media/couverture_qZQKLED.jpg
这是假的,我应该得到:
http://localhost:8000/media/couverture_qZQKLED.jpg
然后,我想用字形图标替换可见元素。
你能帮我吗?
在我的 urls.py 文件中,我有:
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
【问题讨论】:
-
不应该是
MEDIA_URL = '/media/'吗? -
@AhmedHosny 我如何才能显示我的字形图标,当我点击它时,它会在新标签中显示我的图片,并带有
blank?您对/media的评论有效 -
如果您还没有这样做,请将其添加到 urls.py。
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)我可以看到你已经提到它应该在新标签中显示图像。
标签: django