使用Django的load语法加载图片失败

请问为什么我使用Django的load语法加载图片,但是加载不出来?

以下是我的项目结构:

img

图片是static/img目录下的"1.png",我在templates目录下的test.html写的是如下的代码:

img

但是打开网页后没有正确显示图片。网页内容如下:

img

如果我不使用load语法,而是在test.html写如下的代码:

img

则可以正确显示图片。

请问我该如何正确的使用load语法加载该静态图片呢?

用了load,就src="{% static "img/1.jpg" %}",里面img/1.jpg用单引号哦,我手机打字不方便

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    可能导致问题的原因有以下几点: 1. 文件路径错误:检查是否正确指定了图片路径,应该是/static/img/1.png。 2. 语法错误:检查load语法是否正确,应该是{% load static %}。 3. 服务器设置问题:检查服务器是否有正确设置静态文件路径,并且确保Django的静态文件处理已开启。

    正确使用load语法加载该静态图片的步骤如下: 1. 在模板的开头添加{% load static %}语句。 2. 在需要加载图片的地方使用标签,src属性为{% static 'img/1.png' %},其中'img/1.png'是图片相对于静态文件目录的路径。 3. 检查服务器静态文件处理是否开启:在settings.py文件中确保DEBUG为True,STATIC_URL为静态文件的根URL,STATICFILES_DIRS为静态文件目录列表,其中包含static文件夹所在路径。

    参考代码如下:

    test.html文件:

    {% load static %}
    <html>
      <head>
        <title>Test Page</title>
      </head>
      <body>
        <img src="{% static 'img/1.png' %}">
      </body>
    </html>
    

    settings.py文件:

    DEBUG = True
    
    STATIC_URL = '/static/'
    
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static'),
    ]
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^