模板不显示图像 - django

Posted

技术标签:

【中文标题】模板不显示图像 - django【英文标题】:Template does not display image - django 【发布时间】:2016-12-13 14:10:22 【问题描述】:

我阅读了教程“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" %"
                 />
    </body>
</html>

我的图像文件的路径:

应用程序\网站\rango\static\images\rango.jpg

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

【问题讨论】:

请用三个文件更新问题。将 manage.py 映射到静态文件夹。 【参考方案1】:

我认为 Django 中不再有任何称为 STATIC_DIR 的东西了。 你为什么一开始就定义它。

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

如果您的 static 文件夹位于 Base 目录级别,即与 manage.py 的级别相同,这应该对您有用

【讨论】:

【参考方案2】:

只应将以下内容添加到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

&lt;project-name&gt;

settings.py

&lt;app_name&gt;

static/ &lt;app_name&gt;/ img/ rango.jpg

你这样称呼:

<img src="% static "<app_name>/img/rango.jpg" %" >

尝试向official tutorial学习, 它真的很棒,会让你习惯于在文档中查找内容。

【讨论】:

以上是关于模板不显示图像 - django的主要内容,如果未能解决你的问题,请参考以下文章

Django:如何在模板中显示数据库中的图像?

为啥 Django 不在我的模板上显示我的动态背景图像

无法在模板 Django 中显示图像

Django静态模板标签不显示SVG

如何在 django 模板中显示保存的、动态创建的图像?

显示来自 django 模板的图像 url