模板django中形成静态链接错误

时间:2017-11-24 02:53:47

标签: django nginx static web-deployment gunicorn

我使用nginx部署了我的Django应用程序并且工作正常。但我的图片不会加载到页面中。不是静态文件夹的问题,因为成功加载了favicon和css和js文件。

我看一下在webbrowser中形成的源代码,我看到图像在链接的末尾有一个'/'。这使地址无效。如果手动删除'/'我在站点中找到了资源。但是我不知道是什么原因造成了这个caractere的插入。

我的网站 - 可用文件

server {
    listen 80;
    server_name localhost;

    location = /favicon.ico {access_log_off; log_not_found off;}
    location /static/ {
        root /home/pi/WebSite;
    }
    location / {
        include proxy_params;
        proxy_pass http://unix:home/pi/WebSite/Website.sock;
    }
}

我的settings.py

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

我的模板文件:

<div class='col-md-12 col-xs-12'>
   <img class="img-rounded img-responsive text-center" src = {% static 'img/sistema.png' %}/>
   <img class="img-rounded img-responsive text-center" src = {% static 'img/legenda.png' %}/>
</div>

在网站的源代码中,图像显示为:

<div class='col-md-12 col-xs-12'>
   <img class="img-rounded img-responsive text-center" src = /static/img/sistema.png/>
   <img class="img-rounded img-responsive text-center" src = /static/img/legenda.png/>
</div>

任何想法,消化? 非常感谢,我没有更多的想法

1 个答案:

答案 0 :(得分:1)

您正在使用src = {% static 'img/sistema.png' %}。这会导致HTML无效。相反,你应该src="{% static 'img/sistema.png' %}"。这意味着浏览器会知道/不是图片网址的一部分。