【发布时间】:2023-03-06 19:05:01
【问题描述】:
我收到服务器错误,因为 django 找不到我的静态文件之一,即使我可以在文件夹中看到它:
ValueError: Missing staticfiles manifest entry for 'staticfiles\assets\img\icons\theme\communication\adress-book-2.svg'
我在静态和静态文件中都看到了这个文件夹中的文件:
static\assets\img\icons\theme\communication\
模板中的文件路径:
{% load static %}
<img src="{% static 'assets\img\icons\theme\communication\adress-book-2.svg' %}" alt="Confirmation Icon" class="icon bg-primary" data-inject-svg="data-inject-svg">
运行collectstatic 没有任何效果。有什么想法吗?
谢谢!
编辑:忘记添加 settings.py 静态设置:
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
# Extra places for collectstatic to find static files.
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
DEBUG_PROPAGATE_EXCEPTIONS = True
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
【问题讨论】:
-
该目录中的其他静态文件是否有效?
-
是的。我没有看到任何其他崩溃。虽然有趣的是,当我检查源代码时,看起来有些图像是从 /static/ 而不是 /staticfiles/ 加载的
-
为什么会有2个静态文件目录?
-
老实说,我不知道。我是 django 新手并将部署推送到 heroku。我阅读了加载静态文件的内容,当我运行收集静态文件时,它创建了第二个文件夹,可能基于我的 settings.py。也许这就是问题
-
第二个文件夹是因为你的 settings.py 而创建的
标签: django