无法在django模板中显示图像

时间:2018-06-04 10:43:34

标签: django django-templates

我想在模板hashtag_details.html中显示一个图像(名为1.png)(图像和此文件都在同一目录中)

{{3}}

hashtag_details.html

function replaceLastThreeChars($string){
    $reversed_string = strrev($string);
    $replaced_string = str_replace(substr($reversed_string,0,3),"XXX",$reversed_string);
    return strrev($replaced_string);
}

这就是我的settings.py看起来的样子。请检查,让我知道什么是错的。我不知道在哪里保存图像以及从哪里访问它们。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Trends Result</title>
    <!--script>
        window.setTimeout(function(){
            window.location.href = "{{ request.path }}";
        }, 3000);
    </script-->
</head>
<body>

<img src="1.png">

</body>
</html>

1 个答案:

答案 0 :(得分:1)

首先,您需要让django提供这些媒体文件。

例如:

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

其次你需要将它添加到你的urlpatterns,所以django知道在哪里提供它。

urlpatterns = [
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

完成这两个步骤后,您可以检查是否在浏览器中执行了所有操作。例如:http:localhost:8000/static/media/your_image.png。在那里你只能看到图像。

原则上,您的客户端代码会向服务器发送Http-Get。因此,如果您想直接向客户提供服务,则需要像上面所见的那样发送完整的网址。