繁体   English   中英

Django视图中的图像路径是相对于目录而不是MEDIA_URL

[英]Image paths in Django view are relative to directory instead of MEDIA_URL

几天来我一直在努力解决这个问题而无法自己解决这个问题。 我正在写博客网站。 帖子视图呈现在以下URL

domain.com/blog/specificpost/

我的模型中有一个ImageField 图像正确上传,我可以使用正确的URL处理图像。

domain.com/media/asset.jpg

在我的settings.py中,我定义了媒体路径。 当我从管理员访问图像文件时,它们正常工作。

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

渲染帖子的视图时,图像路径在DOM中呈现不正确。 它是:

domain.com/blog/media/asset.jpg

它应该是:

domain.com/media/asset.jpg

在我的urlpattern中,我附加了:

+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

并将相关导入添加到urls.py. 我相信这段代码应该在开发过程中为域根服务器提供服务。

我在这里尝试了所有解决方案,但图像URL仍然相对于目录呈现。 非常有用,非常有帮助,让我走上正确的道路。

发布模板:

{% extends "base.html" %}

{% block journal_entry %}
    <main class="content">
        <section class="photo">
            <img src="{{ object.image }}">
        </section>
        <section class="entry">
            <section class="entry-content">
                {{ object.body|linebreaks }}
            </section>
            <section class="entry-meta">
                {{ object.created }}<span class="user-options"> • <a href="#">Delete</a></span>
            </section>
        </section>
    </main>
{% endblock %}

尝试在模板中使用{{ object.image.url }}而不是{{ object.image }}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM