【发布时间】:2022-02-02 11:40:21
【问题描述】:
我一直在关注官方文档,在此处尝试针对相关问题的一些建议,并且只是在一般情况下搜索网络,但我仍然无法加载一张小图片。
我有一个名为“logo.png”的图像,我的项目层次结构如下所示:
project/
mysite/
app/
__init__.py
admin.py
models.py
urls.py
view.py
mysite/
__init__.py
settings.py
urls.py
views.py
wsgi.py
static/
logo.png
templates/
index.html
calling_image.html
在settings.py里面我有STATIC_URL = '/static/'
在calling_image.html里面我有<img src="/static/logo.png">
我的模板calling_image.html 由project/mysite/app/views.py 调用,当然随后由project/mysite/app/urls.py 调用,我什至尝试在@987654330 的末尾包含以下两行(正如我多次看到的那样) @:
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()
没有任何效果,那我做错了什么?
编辑:对不起,我做了一个类型,STATIC_URL = '/static/' 在我的settings.py 中有结束斜线,为了澄清起见,我正在使用python manage.py runserver 在我的开发版本上运行它
已解决:所以我最终自己解决了这个问题。我在project/mysite/ 中创建了一个目录resources 并将logo.png 放在那里。然后我设置STATICFILES_DIRS = (os.path.join(BASE_DIR, "resources"),) 并运行collecstatic,一切正常!不需要使用urlpatterns += staticfiles_urlpatterns() 之类的。
【问题讨论】:
-
引用静态文件的正确语法是
<img src="{% static "logo.png" %}">,假设 logo.png 位于您的顶级静态文件夹中。 (另见this part of the tutorial)。 -
也许他需要“rendre_to_response”
-
尝试关闭
STATIC_URL = '/static/'的路径并运行python manage.py collectstatic -
确保您在设置文件中定义了
STATIC_ROOT -
对不起,我打错了,我确实关闭了
STATIC_URL的路径。我将STATIC_ROOT设置为什么?
标签: python django django-staticfiles