簡體   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