Django 图像文件未呈现

Django image file is not rendering

我的设置文件如下,

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static')
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static', 'static_dirs'),)

MEDIA_URL = '/static/images/'
MEDIA_ROOT = '/Users/bhargavsaidama/5ai/source/static/images/'

#MEDIA_ROOT = os.path.join(BASE_DIR,'static', 'images') (tried this too)

我的html加载页面如下所示, 注:我这里是直接使用文件路径

index.html:

<!DOCTYPE html>
{% load staticfiles %}
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

我的实际 html 文件是:

{% extends "index.html" %}


{% block content %}

<div class="content">

    <img src ='/Users/bhargavsaidama/5ai/source/5ai/static/images/Indian-economy.jpg' alt="My image">

    <h2 id = "title"><font face = "Comic sans MS"> {{ post.title }} </font></h2>

    {% for sub_text in post.content %}

    <p id = "data"><font face = "Comic sans MS" size="+0.3"> {{ sub_text }} </font></p>

    {% endfor %}

</div>
{% endblock %}

即使我尝试使用:

<img src ='Indian-economy.jpg' alt="My image"> 

.. 但运气不好

但输出是

如果我尝试使用普通的 html 文件,可以说:

<html>
<p>  this is bhargav sai</p> 
<img src= '/Users/bhargavsaidama/5ai/source/5ai/static/images/Indian-economy.jpg' alt = 'my image'>
</html>

输出为:

甚至我直接从本地主机 url 也能够获取图像:

谁能帮我解决这个问题?

你最好知道如何配置和加载静态文件,参考official doc.

由于您的 jpgstatic/images 文件夹中,只需像这样更改您的实际 html:

{% extends "index.html" %}


{% block content %}

{% load static %} #load static directory
<div class="content">

    #load your static image
    <img src ='{% static "images/Indian-economy.jpg" %}' alt="My image">

    <h2 id = "title"><font face = "Comic sans MS"> {{ post.title }} </font></h2>

    {% for sub_text in post.content %}

    <p id = "data"><font face = "Comic sans MS" size="+0.3"> {{ sub_text }} </font></p>

    {% endfor %}

</div>
{% endblock %}

这将适用于您的情况。

如果您来自 Google, 密切关注设置文件中的 DEBUG 状态 访问开发服务器和生产服务器中的媒体文件有点不同。在产品服务器中,它们必须使用您的 Web 服务器进行配置 (apache/nginx)。 请检查 official Doc