静态文件不起作用:找不到:/ {static'logo.png'}

时间:2019-07-04 18:21:13

标签: python django

在Django应用中,我创建了一个导航栏。 我想在左上角显示一个小png图像。

所以我用了静态文件。

在我的mysite文件夹中,创建了一个名为static_files的文件夹。在此文件夹中,我添加了名为logo.png

的png图像。

我如下更改了settings.py中的mysite

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'mysite/static_files/')
]

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

我的base.html包含:

    {% load staticfiles %}

<nav class="navbar navbar-light bg-light">
  <a href="">
  <img src="{static 'logo.png'}" alt="" class="d-inline-block alight-top"/>
  </a>
  <a class="" href="fdklsmflds">Login</a>
  <a class="" href="fdklsmflds">Sign up</a>
</nav>

我终于运行了python3.6 manage.py collectstatic

但是我得到了错误:

[04/Jul/2019 18:13:53] "GET / HTTP/1.1" 200 1379
Not Found: /{static 'logo.png'}
[04/Jul/2019 18:13:54] "GET /%7Bstatic%20'logo.png'%7D HTTP/1.1" 404 2139

2 个答案:

答案 0 :(得分:2)

您忘记了%符号,表示Django的模板引擎应使用正确的内容替换该部分。

更改此部分

<img src="{static 'logo.png'}" ...

<img src="{% static 'logo.png' %}" ...

答案 1 :(得分:1)

您需要使用此

<img src="{% static 'logo.png' %}" alt="" class="d-inline-block alight-top"/>

更多详细信息click here