模板不显示图像 - django

时间:2016-08-07 20:46:01

标签: django django-templates django-settings

我阅读了教程" Tango with django"我正准备在我的网站上显示图像。 在设置中。 py文件我在这一步中粘贴了这一行:

STATIC_DIR = os.path.join(BASE_DIR, 'static')

STATICFILES_DIRS = [STATIC_DIR, ]

STATIC_URL = '/static/'

在我的模板中:

{% load staticfiles %}

<html>
    <head>
        <title>Rango</title>
    </head>
    <body>
            <a href="/rango/about/">About</a><br />
            <img src="{% static "images/rango.jpg" %}"
                alt="Picture of Rango" />
    </body>
</html>

我的图片文件的路径:

  

应用\网站\兰戈\静态\图像\ rango.jpg

我不知道我做错了什么,我尝试了其他一些解决方案,但它也不起作用。

2 个答案:

答案 0 :(得分:0)

我不认为Django中有任何称为STATIC_DIR的东西。 你为什么甚至首先定义它。

只需使用STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

即可

如果您的static文件夹位于Base目录级别,即与manage.py

的级别相同,则此功能适用于您

答案 1 :(得分:0)

只应将以下内容添加到settings.py

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

如果您需要将该图像放在不同的目录中,请将完整路径添加到:

STATICFILES_DIRS = [<full path>]

重要!来自Django Docs

  

请注意,这些路径应该使用Unix风格的正斜杠,即使是   Windows(例如“C:/ Users / user / mysite / extra_static_content”)。

关于如何组织项目的示例:

manage.py

  • <project-name>

    • settings.py
  • <app_name>

    • static/
      • <app_name>/
        • img/
          • rango.jpg

这样你打电话:

<img src="{% static "<app_name>/img/rango.jpg" %}" alt="Picture of Rango">
  

尝试从official tutorial学习,   它真的很好,会让你习惯在文档中寻找东西。