无法在我的 django 模板中加载图像
Posted
技术标签:
【中文标题】无法在我的 django 模板中加载图像【英文标题】:Can't load image in my django template 【发布时间】:2017-08-01 21:12:30 【问题描述】:我的项目文件夹是:
mrdoorbeen
manage.py
mr_doorbeen
setting.py
mrdoorbeen
migrations
templates
index.html
profile
profile.html
我想在我的profile.html
文件中包含一张图片。
我在profile.html
顶部使用% load staticfiles %
并在图像源中使用此代码:
<img src="% static "image/example.jpg" %" />
我在mr_doorbeen
中创建了一个文件夹并将其命名为static
,在静态文件夹中创建了一个image
文件夹和图像,我放置了一个example.jpg
,但它不起作用。 我的 static
文件夹路径错误还是什么?
我应该把我的 static
文件夹放在这个项目的哪里
【问题讨论】:
你在设置中的静态文件配置是什么? STATIC_URL = '/static/' 【参考方案1】:对于给定的目录结构,您可以将静态文件放在与文件相同的目录,mr_doorbeen/settings.py
mrdoorbeen
manage.py
mr_doorbeen
setting.py
mrdoorbeen
migrations
templates
index.html
profile
profile.html
static/
您可以将静态文件设置到所述位置,如下所示。
# Static files configurations.
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
【讨论】:
Tnx.i 会做的。【参考方案2】:问题在于您需要在其中定义STATIC_URL
的设置文件。只需按照Django's documentation中的描述即可。
【讨论】:
你能解释更多吗?我不知道你在说什么! 我应该把 static 文件夹放在 setting.py 的旁边吗 确保django.contrib.staticfiles
包含在您的INSTALLED_APPS
中。还有你的图像的路径是什么?您需要将文件存储在应用程序中名为 static
的文件夹中。然后你可以在你的模板中使用% static "example.jpg" %
。
也可以按照文件结构和静态文件路径here.
我应该把 static 文件夹放在哪里。我不知道文件夹的确切位置。 views.py 或 setting.py 的下一个【参考方案3】:
我遇到了同样的问题,并通过在我的设置文件中添加从 pathlib 导入的 os 和其他响应之一中提供的 STATICFILES_DIRS 行来解决它:
from pathlib import Path, os
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
STATIC_URL 已正确指定为“/static/”。在我意识到 os 是 pathlib 中需要先导入的函数之前,我无法仅使用 STATICFILES 行来解决问题。
【讨论】:
【参考方案4】:此外,除了导入 os 和添加刚才提到的行之外,直接从 static 下的文件夹(以应用程序命名)中复制 static 下的图像文件是使其工作的关键。我也将文件夹中的文件保存在静态下,因此存在冗余。
在我这样做之后,它起作用了,然后我可以直接删除静态下的图像文件(不触及静态文件夹中的那些),它仍然有效。不知何故,将它们直接复制到静态“受教”的 Django 下,以访问静态下文件夹中的文件,我不明白,但它有效。
【讨论】:
以上是关于无法在我的 django 模板中加载图像的主要内容,如果未能解决你的问题,请参考以下文章
我无法从 JQuery ajax 调用中加载部分 Django 模板
在 Spring Boot / FreeMarker 中加载图像时出现问题